有关指针与数组的习题练习

有关指针与数组的习题练习,第1张

有关指针与数组的习题练习
char* c[] = { "ENTER","NEW","POINT","FIRST" };
char** cp[] = { c + 3,c + 2,c + 1,c };
char*** cpp = cp;
printf("%sn", **++cpp);
//"POINT",注意运行结束此时cpp指向cp[1]
printf("%sn", *--* ++cpp + 3);
//"ER",++优先级高,先执行*--*++cpp,再执行c[0]+3,此时cpp指向cp[2]
printf("%sn", *cpp[-2] + 3);
//"ST",等效*(*(cpp-2))+3,cpp-2指向cp[0],两次解引用后c[3]+3,注意此时cpp指向并没有改变
printf("%sn", cpp[-1][-1] + 1);
//"EW",等效*(*(cpp-1)-1)+1,cpp-1指向cp[1],第一次解引用指向c[1],第二次解引用指向"NEW",+1后指向E

         此题是将指针数组,指针和数组名在不同情况下含义的综合运用,希望大家能结合代码、代码注释和图片仔细理解指针和数组名的本质,望能帮助到初学者们。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5718866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存