📜  C语言中的指针与数组

📅  最后修改于: 2021-05-26 01:11:45             🧑  作者: Mango

在大多数情况下,指针和数组访问可被视为具有相同的作用,主要的例外是:

1)sizeof运算符
o sizeof(array)返回数组中所有元素使用的内存量
o sizeof(pointer)仅返回指针变量本身使用的内存量

2)&运算符
o&array是&array [0]的别名,并返回数组中第一个元素的地址
o&pointer返回指针的地址

3)字符数组的字符串字面量初始化
char char [[] =“ abc”将数组中的前四个元素设置为’a’,’b’,’c’和’\ 0′
char * pointer =“ abc”将指针设置为“ abc”字符串的地址(可能存储在只读存储器中,因此不可更改)

4)可以给指针变量赋值,而不能给数组变量赋值。

int a[10];
int *p; 
p=a; /*legal*/
a=p; /*illegal*/ 

5)允许对指针变量进行算术运算。

p++; /*Legal*/
a++; /*illegal*/ 


请参考C语言中的指针和数组之间的区别?更多细节。

参考:http://icecube.wisc.edu/~dglo/c_class/array_ptr.html

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。