C语言二维数组指针的用法

C语言二维数组指针的用法直入主题 二维数组是常用的数据结构 单片机中为了追求效率和灵活会更加高频率地使用指针 那么对二维数组指针的用法做一个实例演示

大家好,欢迎来到IT知识分享网。

直入主题,二维数组是常用的数据结构,单片机中为了追求效率和灵活会更加高频率地使用指针,那么对二维数组指针的用法做一个实例演示。

uint8_t Array_tab[5][3]={ //创建一个二维数组

{0x70,0x71,0x72}, {0xC0,0x00,0x00}, {0x00,0xE0,0x00}, {0xC0,0xE0,0x00}, {0xC0,0x40,0x80} };

printf(“\n\n二位数组的两种等效用法:\n”);

uint8_t (*p)[3] ; //定义一个二位数组指针

p = Array_tab; //将二位数组指针指向Array_tab这个二维数组

printf_s(“\n p[0][2] = %x”,p[0][2]); //输出一

printf_s(“\n *(*(p+0)+2) = %x”,*(*(p+0)+2)); //输出二

*(*(p+0)+2) = 0x0F; // 赋予新值 等效于 p[0][2] = 0x0F;

printf_s(“\n *(*(p+0)+2) = %x”,*(*(p+0)+2)); //输出三

输出: 72 //输出一

72 //输出一

0F //输出三

// 总结一下,可以得出以下等效关系

赋值:*(*(p+0)+2) = 0x0F; 等效于 p[0][2] = 0x0F;等效于 Array_tab[0][2] = 0x0F;

取值:dat1 = *(*(p+0)+2); dat2 = p[0][2]; dat3 = Array_tab[0][2];dat1==dat2==dat3

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/159690.html

(0)
上一篇 2024-11-30 09:33
下一篇 2024-11-30 09:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信