指针和数组的区别

baidu,google了好一阵子。

区别如下:

int a[10],int *b;

1.数组不能作为左值,可以将数组名理解为一个指针常量。

a可以理解为一种常量,类型是数组。

2。众所周知,指针的存放方式实际上是一个int型,所以....

sizeof(a)是40,sizeof(b)是4;sizeof()的单位是byte.

3. 对数组名和指针使用 *操作符时貌似用法相同。

一维数组和指针在"*"运算是都有访存操作。
多维数组在"*"运算只是类型改变,没有具体操作。
指针变量在"*"运算时先访存,获得地址,再取地址对应内存中的值。

指针变量在"&"运算时,得到指针变量的地址。
数组在"&"运算只是类型改变,没有具体操作。

posted @ 2009-12-03 11:06  zedzhao  阅读(104)  评论(0编辑  收藏  举报