首页
社区
课程
招聘
指针
发表于: 2021-4-26 00:44 2788

指针

2021-4-26 00:44
2788

指针 跟地址的区别:
指针有解释信息,描述类型。
地址没有解释信息。

 

数组名是数组第0个元素类型的指针常量
ary是ary[0]类型的指针常量
二维数组的元素是一维数组
二维数组是一维数组类型的指针常量
ary是int[3]类型的指针常量

 

int ary[2][3] = { //&ary == 0x19ff18
{10, 20, 30}, // ary[0]
{40, 50, 60} // ary[1]
};

 

int (*p)[3] = ary;

 

printf("%p\r\n", ary); //19ff18
printf("%p\r\n", p); //19ff18

 

printf("%p\r\n", ary); //19ff18
printf("%p\r\n", ary+1); //19ff24
printf("%p\r\n",
ary+1); //19ff1c
printf("%p\r\n", *(ary+1)); //19ff24

 

/
ary[1]得到数组的第1个元素
二维数组的元素是一维数组
ary[1]得到了int[3]这样的一维数组名
数组名是数组第0个元素类型的指针常量
int[3]这样数组名是int类型的指针常量
ary[1]这样数组名是int类型的指针常量
对某类型指针加整型得到同类型指针常量
ary[1] + 1得到int类型的指针常量
/
printf("%p\r\n", ary[1] + 1); //19ff28
printf("%p\r\n", ary[1] + 1); //41
printf("%p\r\n",
(ary[1] + 1)); //50
printf("%p\r\n", (*(ary+1) + 1)[1]); //60
return 0;


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//