摘自《c专家编程》c语言中,数组和指针不能够等价,在下面情况下,数组和指针能够等价使用。
规则 1. 表达式中的数组名被编译器当做一个指向该数组第一个元素的指针。char *p = array_name;
规则 2. 下标总是与指针的偏移量相同。array_name[index]与 *(p+index)
规则 3. 在函数参数的声明中,数组名被编译器当做指向该数组第一个元素的指针
void func(char *p)与void func(char p[])两种函数声明,函数调用时,func(array_name)等价于func(p)