数组名和指针能够等价的情况

摘自《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)

原文地址:https://www.cnblogs.com/rocklee25/p/6894791.html