【C语言】数组指针

【C语言】数组指针

顾名思义,数组指针是指向数组的指针。
例如,p是一个指向含有3个int元素的一维数组的指针:

int (*p)[3]; //圆括号的优先级更高,让p先与*结合再与[]结合

用法:

#include <stdio.h>
// void display1(int p[][3]) //等价下行写法
void display1(int (*p)[3])
{
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", *(*(p + i) + j));
// printf("%d ", p[i][j]);
}
printf("\n");
}
}
int main(void)
{
int zippo[2][3] = {{1, 1, 4}, {5, 1, 4}};
int (*pz)[3] = zippo; //int (*pz)[3]是一个指向含有3个int元素的一维数组的指针。
display1(pz);
printf("pz = %p\n", pz);
printf("pz + 1 = %p\n", pz + 1); //和pz相差12个字节,即3个int的大小。
return 0;
}
posted @   codels  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示