指针数组和数组指针的区别

来源:互联网 发布:淘宝免费活动大全 编辑:程序博客网 时间:2024/06/01 09:14
数组指针 又称行指针 int (* p)[4]该语句是定义一个数组指针 ,指向含四个元素的一维数组,本质上是一个指针

指针数组 int * p[3]表示一个一维数组内含有三个指针变量 p,p + 1,p + 2

仔细看一下就会发现两者的区别

main(void){

int a[2][2] = {{1, 2}, {3, 4}}; 

int (* p)[2]; // 对应上面可以看做 a[2] = p ;也就数说 a[2] 就是一个指针

char * s[2] = {"hello", "world"}; 

p = a;

print("%d, %d, %d, %d\n", (*p)[0], (*p)[1],*(p + 1)[0], *(p + 1)[1]);//对应第三行代码 

printf("%s%s\n", s[0], s[1]);

return 0;

}


0 0
原创粉丝点击