#include <stdio.h>
const int MAX = 3;
int main ()
{
int var[] = {10, 100, 200};
int i, *ptr;
/* 指针中的数组地址 */
ptr = var;
for ( i = 0; i < MAX; i++)
{
printf("存储地址:var[%d] = %x\n", i, ptr );
printf("存储值:var[%d] = %d\n", i, *ptr );
/* 移动到下一个位置 */
ptr++;
}
return 0;
}
声明指针变量时为什么(int i,ptr;)int i后面紧跟ptr,写成ptr不应该是解引用吗。不是应该是int ptr吗,int* 表示指针变量类型,ptr为指针变量名。
ptr=var,为什么会是这样呢,不应该是ptr=&var吗,指针变量ptr指向取地址var的地址吗。难道是因为数组名var表示整个数组地址,所以与&var相等?