对于数组必须要注意以下几点:
1) sizeof() 求操作数的类型长度(以字节为单位) --> 操作符2)strlen() 求字符串的长度,遇到'\0'结束(也就是说计算长度时,它会一直去寻找'\0'),但'\0'不纳入计算 --> 函数
3)对于一个数组a来说,只有&a和sizeof(a)中,a代表整个数组,其他情况下,a都代表该数组中首元素的地址
4)以下例题可以深刻理解一个数组名的含义
一维整型数组的运算
整型数组
注意:地址都是4个字节长度
一维字符型数组的运算
字符数组(无'\0')
注意:strlen(char * string),函数的参数类型是一个字符型指针,当类型不匹配时便会报错
字符串数组(含'\0')
a.用数组存放字符串
注意:此时定义的数组 arr1 开辟的空间位于栈区,该空间用于存放字符串“abcdef" --> 可以修改字符串
b.用指针指向字符串
注意:此时定义的指针 p 开辟的空间位于栈区,该空间用于存放地址,该地址指向字符串"abcdef"(字符串作为常量存放在静态区,也就是只读区)--> 这个字符串常量不可以修改
二维整型数组的运算
二维整型数组
注意:二维数组存储时也是线性连续的,可以将其理解成一个一维数组,不过该一维数组里存放的元素还是数组。也就是说,二维数组是一个存放着一维数组的一维数组。。。