RM新时代网站-首页

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

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

3天內不再提示

C語言指針和數(shù)組的區(qū)別

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

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

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

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

二.指針和數(shù)組區(qū)別

1.通過 sizeof 獲取大小

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

a.計算數(shù)組大小

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

數(shù)組的大?。簊izeof(數(shù)組名)/sizeof(數(shù)據(jù)類型)

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

b.計算指針大小

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

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

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

2.指針和數(shù)組賦值方式不同

a.指針賦值

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

b.數(shù)組賦值

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

3.指針是指針變量,數(shù)組是指針常量

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

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

那么指針和數(shù)組區(qū)別在哪呢?

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

寫法一是正確的,常規(guī)操作;

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

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

審核編輯:湯梓紅

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

    關注

    180

    文章

    7604

    瀏覽量

    136683
  • 指針
    +關注

    關注

    1

    文章

    480

    瀏覽量

    70551
  • 數(shù)組
    +關注

    關注

    1

    文章

    417

    瀏覽量

    25939

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

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

收藏 人收藏

    評論

    相關推薦

    C語言數(shù)組名和指針

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

    C語言指針和數(shù)組的錯誤用法

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

    C語言數(shù)組指針區(qū)別

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

    C語言中指針數(shù)組和數(shù)組指針區(qū)別

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

    指針數(shù)組和數(shù)組指針有什么區(qū)別和聯(lián)系呢

    什么是指針數(shù)組和數(shù)組指針?指針數(shù)組和數(shù)組
    發(fā)表于 12-24 06:55

    C語言入門教程-用指針操作數(shù)組

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

    c語言函數(shù)指針定義,指針函數(shù)和函數(shù)指針區(qū)別

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

    指針和數(shù)組都是C語言的精髓所在 兩者有何聯(lián)系區(qū)別

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

    詳談數(shù)組指針區(qū)別與聯(lián)系

    詳談數(shù)組指針區(qū)別與聯(lián)系
    的頭像 發(fā)表于 06-29 15:18 ?2.2w次閱讀
    詳談<b class='flag-5'>數(shù)組</b>和<b class='flag-5'>指針</b>的<b class='flag-5'>區(qū)別</b>與聯(lián)系

    指針數(shù)組和數(shù)組指針區(qū)別

    這里我們區(qū)分兩個重要的概念:指針數(shù)組、數(shù)組指針。
    的頭像 發(fā)表于 06-29 15:30 ?2w次閱讀
    <b class='flag-5'>指針</b><b class='flag-5'>數(shù)組</b><b class='flag-5'>和數(shù)組</b><b class='flag-5'>指針</b>的<b class='flag-5'>區(qū)別</b>

    C語言進階】“數(shù)組指針”和“指針數(shù)組”都是啥跟啥?

    C語言進階】“數(shù)組指針”和“指針數(shù)組”都是啥跟啥?
    的頭像 發(fā)表于 08-31 13:21 ?1911次閱讀

    C語言中的char數(shù)組和char指針有什么區(qū)別?

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

    C語言數(shù)組元素的指針

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

    C語言中什么是指針數(shù)組

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

    數(shù)組指針不能混用的情況

    數(shù)組指針不能混用的情況? 數(shù)組指針C/C++ 中非常常見的特性和概念。然而,在某些情況下
    的頭像 發(fā)表于 12-07 13:46 ?598次閱讀
    RM新时代网站-首页