注意: 1)指针变量的值可以改变,如p++; 而数组首地址a是个地址常量,不能用a++改变。 2) 要注意指针变量的当前值,如: main() {int *p,i,a[10]; p=a; for (i=0;i10;i++) scanf(%d,p++); printf(\n); for (i=0;i10;i++,p++) printf(%d,*p); } 加一个语句 p=a; 3) 注意指针变量的运算(假设p指向数组a) ? p++ 指向下一个元素 ? *p++ 等价于*(p++) 先得到p 指向变量的值,然 后再p+1=p ? *(p++) 不同于*(++p) ? (*p)++ 表示p所指向的元素加1 3、数组名和数组指针变量作函数参数 在第五章中曾经介绍过用数组名作函数的实参和形参的问题。在学习指针变量之后就更容易理解这个问题了。 数组名就是数组的首地址,实参向形参传送数组名实际上就是传送数组的地址, 形参得到该地址后也指向同一数组。 这就好象同一件物品有两个彼此不同的名称一样
原创力文档

文档评论(0)