高质量嵌入式Linux C编程 第五章 数组与指针 学习

2019-07-13 06:40发布

一、数组名是什么?
数组名是数组在内存存放的数组首元素地址。
二、数组的下标总是从0开始吗?
对于c来讲,数组下标总是从0开始,其他语言中情况有所不同
三、可以使用数组后面的第一个元素的地址吗??
可以,但是不可以查看该地址中的值
四、指针或带下标的数组名都可以访问元素,但是哪种方式更好呢
数组a需要确定a[i]的地址需要将i和类型x的大小相乘再加上a的第一个元素的地址,而只要间接引用指针p,间接引用快而乘法运算慢。
五、可以把另一个地址赋给一个数组名吗?
不可以,数组名不能放在赋值运算符的左边
六、array_name和&array_name有什么区别?
前者是指向数组中第一个元素的指针,后者是指向整个数组的指针
七、字符串和数组有什么不同?
数组的元素可以是任意一种类型,而字符串是一种特别的数组,它使用了一种众所周知的、确定长度的规则。
八、最多可以使用几层指针?
至少12层
九、空指针的使用
(1)用空指针终止对递归数据结构的间接引用
(2)用空指针进行函数调用失败时的返回值
(3)用空指针作警戒值
十、指针数组和数组指针
typename *p[n]定义了一个数组,数组包含了n个指针变量