指针数组:
总结:
相同点:数组=数组指向的指针,指针数组,都可以通过下表运算 [ ] 符索引 = 数组的值;
不同点:数组 [ ] = 变量;(所占内存为数组的类型) 指针数组 [ ] = 指针;(所占内存为8个字节);
#include <stdio.h> const int MAX = 3; int main() { //定义数组,把数组传给指针,var[i] = ptr[i]成立, &var[i] = &ptr[i]成立;内存地址差为一个4个字节(int大小) int i; int var[] = {10,20,30}; int *ptr = var; for(i = 0;i<MAX;i++){ print("pointer ptr[%d]is:%d ",i,var[i]); print("pointer ptr[%d]is:%d ",i,ptr[i]); print("address of pointer ptr[%d]is:%p ",i,&var[i]); print("address of pointer ptr[%d]is:%p ",i,&ptr[i]); } ///////////////////////////////////////////////////////////////////////// //定义指针数组,var[i] = ptr1[i]成立, &ptr[i]内存地址的差值为8个字节(指针大小) int *ptr1[] = {10,20,30}; for(i = 0;i<MAX;i++){ print("pointer ptr[%d]is:%d ",i,var[i]); print("pointer ptr[%d]is:%d ",i,ptr1[i]); print("address of pointer ptr[%d]is:%p ",i,&var[i]); print("address of pointer ptr[%d]is:%p ",i,&ptr1[i]); { }
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/9966.html