指针数组和二维数组有没有区别?比如这样的两个代码。
int main()
{
char *s1[] = {
"hello",
"world",
"total"
};
char s2[][6] = {
"hello",
"world",
"total"
};
return 0;
}
从后面的初始化方式可以看出,他们好像一样,里面都保存了三个字符串。
想要搞清楚他们的区别,还得看下他们在内存中的排布。
首先是指针数组 s1。
s1 本身是个一维数组,数组有三个元素,每个元素都是个指针。如果是 64 位系统,三个指针就占了 24 个字节。
使用 sizeof 计算 s1 的大小,结果就是 24。
三个指针指向三个字符串,而且这三个字符串存放在只读数据区,不能修改,尝试通过指针 s1[0] 去修改元素 h,程序会异常。
s2 本身是个二维数组,三行六列,每一行都存放一个字符串。使用 sizeof 计算 s2 的大小,结果是 18。
在这个案例中 s2 是个局部变量,于是这三个字符串存放在栈空间,可读可写。通过 s2 可以随意修改。
要说他俩的相同点,就是使用起来基本一样,要想访问字符串里面的元素,完全可以把 s1 当成二维数组,通过下标的形式去访问。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
指针
+关注
关注
1文章
484浏览量
71949 -
二维
+关注
关注
0文章
41浏览量
12278 -
数组
+关注
关注
1文章
420浏览量
27458
原文标题:指针数组和二维数组
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
瑞芯微(EASY EAI)RV1126B 二维码生成
1.二维码简介二维码又称二维条码,常见的二维码为QRCode,QR全称QuickResponse,是一个近几年来移动设备上超流行的一种编码方式,它比传统的BarCode条形码能存更多的
有哪些常见的二维码模组类型?
二维码模组是集成了扫描引擎、解码芯片、光学组件的核心模块(也叫二维码模块),可直接嵌入自助终端、工业PDA、智能闸机等设备,实现二维码的快速识别与数据传输。其常见类型可按安装方式、扫描原理、通信接口
二维影像扫描引擎在门禁二维码刷卡梯控行业中的应用
在当今科技日新月异的时代,二维影像扫描引擎以其卓越的识别性能和广泛的应用领域,成为了门禁系统中不可或缺的重要组成部分,尤其在二维码刷卡梯控行业中展现出了非凡的价值。本文将深入探讨二维影像扫描引擎在
函数指针及指针函数的区别
= fun(a);
注意指针函数与函数指针表示方法的不同,千万不要混淆。最简单的辨别方式就是看函数名前面的指针*号有没有被括号()包含,如果被包含就是函数
发表于 12-12 06:34
二维码扫码模块是什么?它和普通条码识别设备有什么不同
渗透到各个领域。而很多人会混淆二维码扫码模块与普通条码识别设备,其实二者在定位、功能和应用场景上有着显著区别。▣二维码扫码模块:嵌入式识别核心二维
中航光电推出二维FA光纤阵列组件
中航光电研制的二维FA光纤阵列组件作为OCS光交换设备的关键组件,用于实现阵列光信号的输入和输出功能;该组件集成了二维光纤阵列和二维透镜阵列,通过二者的精确耦合对准,实现准直光束的稳定
哪款二维码模组适合嵌入户外取餐柜,用于扫二维码
在智能取餐柜普及的当下,二维码模组作为核心交互组件,其性能直接影响用户体验与设备稳定性。针对户外场景的特殊需求,深圳远景达物联网推出的LV4300Pro系列二维码模组,凭借工业级设计与场景化技术优化
一维二维码条码识读器的主要功能有哪些
在信息化快速发展的当下,一维二维码条码识读器已成为各行各业高效处理信息的重要工具。从超市收银到物流追踪,它凭借快速准确的信息识别能力,大幅提升了工作效率。那么,一维二维码条码识读器的主
世界首台非硅二维材料计算机问世 二维材料是什么?二维材料的核心特征解读
据外媒报道;美国宾夕法尼亚州立大学团队在《自然》杂志发表研究成果,首次利用原子级厚度的二维材料(非硅)成功研制出功能完整的计算机,标志着新型电子设备开发的重要进展。这是一项突破性成果;首次利用二维
基于STM32的二维码识别源码+二维码解码库lib
基于STM32的二维码识别源码+二维码解码库lib项目实例下载!
纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
发表于 05-23 20:45
JCMsuite中对二维光栅的定义和仿真
光栅是光衍射的周期性结构。它能把入射的光束衍射成几束向不同方向发散的光束。
二维光栅
二维光栅在两个水平方向上都具有周期性。存在两个晶格矢量因此当几何结构移位一个晶格矢量时,
下图显示了一个正方形
发表于 05-19 08:53
指针数组和二维数组有没有区别
评论