天天看点

C语言中的数组名与指针

   C语言中的数组名和指针均属于一个变量,数组名可以看成是一个指针常量,所以数组名中存放的地址是不能更改的,如果试图更改将会导致非法错误,比如: int num[3] = {0,1,2};则num = &num[0],但不可对num进行内容的更改操作即num = &num[2]是非法的。但是有一个例外,那就是在函数的首行中声明的数组名,如 void func(int array[]){array = &array[2];}即array中的内容是被更改过的,但是是合法的,因为在ANSI C中说函数首行声明的数组名相当于指针变量

继续阅读