精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    文章

    480

    瀏覽量

    70509
  • 二維
    +關注

    關注

    0

    文章

    40

    瀏覽量

    11978
  • 數組
    +關注

    關注

    1

    文章

    415

    瀏覽量

    25908

原文標題:指針數組和二維數組

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言數組應用計算機導論A第6講:數組

    C語言數組應用計算機導論A第6講:數組
    發表于 11-20 15:33 ?0次下載

    labview按行讀取二維數組之后再按讀取順序重新組成二維數組如何實現?

    labview用了index Array按索引一行行讀取二維數組之后想再按讀取順序重新組成一個二維數組如何實現,即第一次讀取的作為第一行,第
    發表于 10-25 21:06

    請問labview是否無法向matlab傳遞3數組

    經過一些測試,發現在matlab script中只能傳二維數組,利用打包.net庫,好像還是只能傳遞二維數組。 是不是從底層就不支持,這兩種語言的三
    發表于 10-22 20:14

    labview字符串數組轉化為數值數組

    在LabVIEW中,將字符串數組轉換為數值數組是一項常見的任務,尤其是在處理數據采集、信號處理或用戶輸入時。 1. 理解LabVIEW的數據類型 在開始之前,了解LabVIEW中的數據類型是非
    的頭像 發表于 09-04 17:47 ?1777次閱讀

    面試常考+1:函數指針指針函數、數組指針指針數組

    在嵌入式開發領域,函數指針指針函數、數組指針指針數組是一些非常重要但又容易混淆的概念。理解它
    的頭像 發表于 08-10 08:11 ?693次閱讀
    面試常考+1:函數<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>函數、<b class='flag-5'>數組</b><b class='flag-5'>指針</b>與<b class='flag-5'>指針</b><b class='flag-5'>數組</b>

    數組的轉換到二維數組后的行列增減問題

    請大佬指點,如VI,兩個求助點: 1、一數組大小,在停止Vi前把數組大小增加到4,在循環外設置了一數組的行數為0了,為啥再次運行VI后,
    發表于 05-11 00:25

    深入探索KUKA KRL中的數組應用

    如果 CHAR 類型數組的所有數組元素都擁有相同的字符串,則不必單獨初始化每個數組元素。忽略右側的數組下標。(對于一
    的頭像 發表于 04-18 10:37 ?1126次閱讀
    深入探索KUKA KRL中的<b class='flag-5'>數組</b>應用

    數組和鏈表在內存中的區別 數組和鏈表的優缺點

    數組和鏈表在內存中的區別 數組和鏈表的優缺點? 數組和鏈表是常見的數據結構,用于組織和存儲數據。它們在內存中的存儲方式以及優缺點方面存在一些顯著的差異。本文將詳細探討這些差異以及它們的
    的頭像 發表于 02-21 11:30 ?913次閱讀

    數組和鏈表有何區別

    數組和鏈表的區別,這個問題,不僅面試中經常遇到,考研的同學也得掌握才行。
    的頭像 發表于 02-19 15:33 ?451次閱讀
    <b class='flag-5'>數組</b>和鏈表有何<b class='flag-5'>區別</b>

    鴻蒙進制數組創建

    背景 c++層數據都是進制,需要轉換成arrayBuffer透傳到ets層給業務使用,但是鴻蒙的使用下面兩個api創建出來的進制數組數據都是錯誤的。 接口
    的頭像 發表于 01-31 15:24 ?1215次閱讀

    PHP中數組的使用方法!

    PHP中數組的使用方法! PHP是一種廣泛使用的網絡編程語言,它的數組功能非常強大且靈活。數組是一種數據結構,它允許我們在單個變量中存儲多個值。 在本篇文章中,我將詳細解釋PHP數組
    的頭像 發表于 01-12 15:11 ?503次閱讀

    labview怎么查數組中相同元素的個數

    要查找LabVIEW中數組中相同元素的個數,可以使用以下步驟: 創建一個包含要查找的數值的數組。這可以通過手動輸入數組元素或從文件/其他數據源導入數組實現。 使用“For Loop”結
    的頭像 發表于 12-28 16:42 ?3225次閱讀

    數組指針不相同嗎?數組指針有哪些區別

    數組就是指針指針就是數組,這樣的言論在評論區看到不下于10次。
    的頭像 發表于 12-13 16:34 ?1319次閱讀
    <b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>不相同嗎?<b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>有哪些<b class='flag-5'>區別</b>

    數組指針不能混用的情況

    數組指針不能混用的情況? 數組指針是 C/C++ 中非常常見的特性和概念。然而,在某些情況下,數組
    的頭像 發表于 12-07 13:46 ?571次閱讀

    字符數組和字符串有沒有區別

    字符數組和字符串有沒有區別
    的頭像 發表于 11-30 16:39 ?623次閱讀