0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

指针数组和二维数组有没有区别

学益得智能硬件 来源:学益得智能硬件 2024-11-24 11:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

指针数组和二维数组有没有区别?比如这样的两个代码。

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条形码能存更多的
    的头像 发表于 04-08 10:48 124次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>二维</b>码生成

    有哪些常见的二维码模组类型?

    二维码模组是集成了扫描引擎、解码芯片、光学组件的核心模块(也叫二维码模块),可直接嵌入自助终端、工业PDA、智能闸机等设备,实现二维码的快速识别与数据传输。其常见类型可按安装方式、扫描原理、通信接口
    的头像 发表于 01-24 00:00 916次阅读
    有哪些常见的<b class='flag-5'>二维</b>码模组类型?

    二维影像扫描引擎在门禁二维码刷卡梯控行业中的应用

    在当今科技日新月异的时代,二维影像扫描引擎以其卓越的识别性能和广泛的应用领域,成为了门禁系统中不可或缺的重要组成部分,尤其在二维码刷卡梯控行业中展现出了非凡的价值。本文将深入探讨二维影像扫描引擎在
    的头像 发表于 12-17 15:42 470次阅读
    <b class='flag-5'>二维</b>影像扫描引擎在门禁<b class='flag-5'>二维</b>码刷卡梯控行业中的应用

    函数指针指针函数的区别

    = fun(a);   注意指针函数与函数指针表示方法的不同,千万不要混淆。最简单的辨别方式就是看函数名前面的指针*号有没有被括号()包含,如果被包含就是函数
    发表于 12-12 06:34

    数组的初体验

    ,元素个数小于数组的长度时,多余的数组元素初始化为0; 在声明数组没有进行初始化的时候,静态(static)和外部(extern)类型的数组
    发表于 11-25 08:06

    二维数组介绍

    大家不要认为二维数组在内存中就是按行、列这样二维存储的,实际上,不管二维、三数组… 都是编译器
    发表于 11-25 07:42

    二维码扫码模块是什么?它和普通条码识别设备有什么不同

    渗透到各个领域。而很多人会混淆二维码扫码模块与普通条码识别设备,其实者在定位、功能和应用场景上有着显著区别。▣二维码扫码模块:嵌入式识别核心二维
    的头像 发表于 11-06 15:54 656次阅读
    <b class='flag-5'>二维</b>码扫码模块是什么?它和普通条码识别设备有什么不同

    中航光电推出二维FA光纤阵列组件

    中航光电研制的二维FA光纤阵列组件作为OCS光交换设备的关键组件,用于实现阵列光信号的输入和输出功能;该组件集成了二维光纤阵列和二维透镜阵列,通过者的精确耦合对准,实现准直光束的稳定
    的头像 发表于 09-10 18:19 2824次阅读

    哪款二维码模组适合嵌入户外取餐柜,用于扫二维

    在智能取餐柜普及的当下,二维码模组作为核心交互组件,其性能直接影响用户体验与设备稳定性。针对户外场景的特殊需求,深圳远景达物联网推出的LV4300Pro系列二维码模组,凭借工业级设计与场景化技术优化
    的头像 发表于 09-10 15:00 724次阅读
    哪款<b class='flag-5'>二维</b>码模组适合嵌入户外取餐柜,用于扫<b class='flag-5'>二维</b>码

    二维码条码识读器的主要功能有哪些

    在信息化快速发展的当下,一二维码条码识读器已成为各行各业高效处理信息的重要工具。从超市收银到物流追踪,它凭借快速准确的信息识别能力,大幅提升了工作效率。那么,一二维码条码识读器的主
    的头像 发表于 08-01 15:59 1191次阅读
    一<b class='flag-5'>维</b><b class='flag-5'>二维</b>码条码识读器的主要功能有哪些

    世界首台非硅二维材料计算机问世 二维材料是什么?二维材料的核心特征解读

    据外媒报道;美国宾夕法尼亚州立大学团队在《自然》杂志发表研究成果,首次利用原子级厚度的二维材料(非硅)成功研制出功能完整的计算机,标志着新型电子设备开发的重要进展。这是一项突破性成果;首次利用二维
    的头像 发表于 06-12 15:25 2003次阅读

    基于STM32的二维码识别源码+二维码解码库lib

    基于STM32的二维码识别源码+二维码解码库lib,推荐下载!
    发表于 05-28 22:04

    基于STM32的二维码识别源码+二维码解码库lib

    基于STM32的二维码识别源码+二维码解码库lib项目实例下载! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-23 20:45

    JCMsuite中对二维光栅的定义和仿真

    光栅是光衍射的周期性结构。它能把入射的光束衍射成几束向不同方向发散的光束。 二维光栅 二维光栅在两个水平方向上都具有周期性。存在两个晶格矢量因此当几何结构移位一个晶格矢量时, 下图显示了一个正方形
    发表于 05-19 08:53

    二维数组指定条件删除指定行,请教

    数组1的第一列进行条件判断,如果小于20,删除所在行,最终需要得到数组2
    发表于 05-13 08:11