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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言指針和數組的區別

C語言編程學習基地 ? 來源:C語言編程學習基地 ? 作者:C語言編程學習基地 ? 2022-07-18 16:29 ? 次閱讀

C語言教程中我們使用通過數組名通過偏移和指針偏移都可以遍歷數組,那么指針和數組到底有什么區別??

由于數組中的數據在內存中都是連續存放的,數組名默認就是數組的首地址,也是一個特殊的指針;

6b8dbdac-0670-11ed-ba43-dac502259ad0.jpg

二.指針和數組區別

1.通過 sizeof 獲取大小

不管是數組還是指針變量,計算大小的時候都可以通過sizeof函數,注意兩者使用的區別:

a.計算數組大小

數組所占存儲空間的內存:sizeof(數組名);

數組的大小:sizeof(數組名)/sizeof(數據類型)

6ba05f5c-0670-11ed-ba43-dac502259ad0.png

b.計算指針大小

在 32 位平臺下,無論指針的類型是什么,sizeof(指針名)都是 4 ,在 64 位平臺下,無論指針的類型是什么,sizeof(指針名)都是 8 ;

6bb8a918-0670-11ed-ba43-dac502259ad0.png

由此可見,sizeof函數計算指針大小的時候,與數據變量類型無關,x86平臺下指針大小始終為4,x64平臺下指針大小始終為8;

2.指針和數組賦值方式不同

a.指針賦值

指針很靈活,它可以指向任意類型的數據。指針的類型說明了它所指向地址空間的內存。

b.數組賦值

數組在內存中是連續存放的,開辟一塊連續的內存空間。數組可以根據數組的下進行訪問,多維數組實際上由多個一維數組夠成,數組的賦值這里不再重復講解。

3.指針是指針變量,數組是指針常量

常量:常量的值始終是固定的,不能被修改;

變量:變量的值可以任意修改;

那么指針和數組區別在哪呢?

6bce3b66-0670-11ed-ba43-dac502259ad0.png

寫法一是正確的,常規操作;

寫法二是錯誤的,數組名默認指向數組的首地址,是不能背修改的;

總結:所以說數組是指針常量,不能被修改;指針是變量可以被隨意修改。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7576

    瀏覽量

    133998
  • 指針
    +關注

    關注

    1

    文章

    475

    瀏覽量

    70457
  • 數組
    +關注

    關注

    1

    文章

    411

    瀏覽量

    25821

原文標題:C語言基礎知識:指針和數組的區別是什么?

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言數組名和指針

    指針C/C++語言的特色,而數組名與指針有太多的相似,甚至很多時候,
    發表于 08-27 17:48 ?675次閱讀

    C語言指針和數組的錯誤用法

    工作好幾年了,一直用的都是C。自認為指針應該很熟悉了。然而,前段時間我對二維指針和二維數組的一個混用,并且我們項目組的一個大牛(博士畢業,工作10+年)在review我的代碼也沒發現問
    發表于 09-28 09:12 ?640次閱讀

    C語言數組指針區別

    大家好,我是嵌入式老林,從事嵌入式軟件開發多年,今天分享的內容是C語言數組指針區別,希望能對你有所幫助。
    發表于 07-11 12:40 ?333次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>的<b class='flag-5'>區別</b>

    C語言中指針數組和數組指針區別

    指針和數組之間存在著緊密的關系。在本文中,我們將探討指針和數組的關系、指針算術和數組遍歷、多維
    發表于 08-17 15:29 ?363次閱讀

    指針數組和數組指針有什么區別和聯系呢

    什么是指針數組和數組指針指針數組和數組
    發表于 12-24 06:55

    C語言入門教程-用指針操作數組

    C語言入門教程 在C語言中,數組指針的關系十分密切。要想有效地使用
    發表于 07-29 12:18 ?1461次閱讀

    c語言函數指針定義,指針函數和函數指針區別

     往往,我們一提到指針函數和函數指針的時候,就有很多人弄不懂。下面就由小編詳細為大家介紹C語言中函數指針
    發表于 11-16 15:18 ?3551次閱讀

    指針和數組都是C語言的精髓所在 兩者有何聯系區別

    指針和數組都是C語言的精髓所在,對于很多C程序員來說,如果你問這樣一個問題:數組
    的頭像 發表于 05-27 14:51 ?3846次閱讀
    <b class='flag-5'>指針</b><b class='flag-5'>和數組</b>都是<b class='flag-5'>C</b><b class='flag-5'>語言</b>的精髓所在 兩者有何聯系<b class='flag-5'>區別</b>

    詳談數組指針區別與聯系

    詳談數組指針區別與聯系
    的頭像 發表于 06-29 15:18 ?2.2w次閱讀
    詳談<b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>的<b class='flag-5'>區別</b>與聯系

    指針數組和數組指針區別

    這里我們區分兩個重要的概念:指針數組數組指針
    的頭像 發表于 06-29 15:30 ?1.9w次閱讀
    <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語言進階】“數組指針”和“指針數組”都是啥跟啥?
    的頭像 發表于 08-31 13:21 ?1814次閱讀

    C語言中的char數組和char指針有什么區別

    讓我們通過下面的例子,來了解 C語言中字符數組和字符指針之間的區別
    的頭像 發表于 01-29 16:35 ?2344次閱讀

    C語言數組元素的指針

    C語言調用函數時虛實結合的方法都是采用“值傳遞”方式,當用變量名作為函數參數時傳遞的是變量的值,當用數組名作為函數參數時。 由于數組名代表的是
    的頭像 發表于 03-10 14:45 ?750次閱讀

    C語言中什么是指針數組

    C語言中一個數組,若其元素均為指針類型數據,稱為指針數組,也就是說,
    的頭像 發表于 03-10 15:26 ?1561次閱讀

    數組指針不能混用的情況

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