指针和数组的区别
baidu,google了好一阵子。
区别如下:
int a[10],int *b;
1.数组不能作为左值,可以将数组名理解为一个指针常量。
a可以理解为一种常量,类型是数组。
2。众所周知,指针的存放方式实际上是一个int型,所以....
sizeof(a)是40,sizeof(b)是4;sizeof()的单位是byte.
3. 对数组名和指针使用 *操作符时貌似用法相同。
一维数组和指针在"*"运算是都有访存操作。
多维数组在"*"运算只是类型改变,没有具体操作。
指针变量在"*"运算时先访存,获得地址,再取地址对应内存中的值。
指针变量在"&"运算时,得到指针变量的地址。
数组在"&"运算只是类型改变,没有具体操作。