q松_松q

关注

令人混淆的数组指针加法运算

q松_松q

关注

阅读 147

2022-12-01


int a[3] = { 1, 2, 3 };
int (*p)[3] = &a; // 赋值正确,p保存指向a的指针,是一个二维指针
p++; // 指针跑飞
*((*p) + 1) = 10; // stack smashing
int b[2][3] = { { 1, 2, 3 }, { 1, 2, 3 } };
int (*p1)[3] = b; // 赋值正确,p1保存指向b的指针,是一个二维指针
p1++; // 正确 此时p1指向b[1]即第二维数组
**p1 = 10; // 正确 a[1][0]被设置为10

相关推荐

汤姆torn

C语言-C 指针的算术运算&指针数组

汤姆torn 51 0 0

沈芏

C语言-【指针二】-【指针运算/指针和数组】

沈芏 72 0 0

梯梯笔记

Js加法运算规则

梯梯笔记 38 0 0

杰克逊爱学习

JavaScript 加法运算 、parseInt() 的使用

杰克逊爱学习 62 0 0

写心之所想

Problem E: 新奇的加法运算

写心之所想 102 0 0

我是小瘦子哟

二级指针与数组之间的运算

我是小瘦子哟 61 0 0

小飞侠熙熙

指针的运算

小飞侠熙熙 100 0 0

天行五煞

指针-指针数组,数组指针

天行五煞 190 0 0

爱读书的歌者

(使用C语言详解)指针数组、数组指针、函数指针、函数指针的数组、指向函数指针数组的指针

爱读书的歌者 17 0 0

王传学

【C语言初阶】指针的运算or数组与指针的关系你了解吗?

王传学 63 0 0

精彩评论(0)

0 0 举报