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

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

3天內(nèi)不再提示

圖文詳解:數(shù)組和指針的傳參

如意 ? 來源:CSDN ? 作者:cherrydreamsover ? 2020-06-29 15:34 ? 次閱讀

傳參

數(shù)組:

數(shù)組傳參時,會退化為指針,所以我們先來看看什么是退化!

(1)退化的意義:C語言只會以值拷貝的方式傳遞參數(shù),參數(shù)傳遞時,如果只拷貝整個數(shù)組,效率會大大降低,并且在參數(shù)位于棧上,太大的數(shù)組拷貝將會導致棧溢出。

(2)因此,C語言將數(shù)組的傳參進行了退化。將整個數(shù)組拷貝一份傳入函數(shù)時,將數(shù)組名看做常量指針,傳數(shù)組首元素的地址。

1.一維數(shù)組的傳參

圖文詳解:數(shù)組和指針的傳參

2.二維數(shù)組的傳參

圖文詳解:數(shù)組和指針的傳參

指針:

1.一級指針傳參

當函數(shù)參數(shù)部分是一級指針時,可以接受什么參數(shù)例如:test(int*p)

(1)可以是一個整形指針

(2)可以是整型變量地址

(3)可以是一維整型數(shù)組數(shù)組名

圖文詳解:數(shù)組和指針的傳參

2.二級指針傳參

即當函數(shù)參數(shù)部分是二級指針時,可以接受什么參數(shù)例如:test(int**p)

(1)二級指針變量

(2)一級指針變量地址

(3)一維指針數(shù)組的數(shù)組名

圖文詳解:數(shù)組和指針的傳參

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

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137256
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    480

    瀏覽量

    70585
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25990
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    數(shù)組指針詳解

    數(shù)組指針詳解分享,請多指教!
    發(fā)表于 12-15 11:21

    數(shù)組指針的詳細講解

    數(shù)組指針的詳細講解
    發(fā)表于 10-16 08:44 ?0次下載

    數(shù)組指針的簡單定義及其相互的聯(lián)系與區(qū)別詳解

    確實在極個別的情況下,數(shù)組指針確實可以”通用“,但是在卻大多數(shù)情況下,數(shù)組指針是兩個完全不同的C。
    的頭像 發(fā)表于 12-09 11:20 ?7243次閱讀
    <b class='flag-5'>數(shù)組</b>和<b class='flag-5'>指針</b>的簡單定義及其相互的聯(lián)系與區(qū)別<b class='flag-5'>詳解</b>

    指針數(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>的區(qū)別

    理解函數(shù)指針、函數(shù)指針數(shù)組、函數(shù)指針數(shù)組指針

    理解函數(shù)指針、函數(shù)指針數(shù)組、函數(shù)指針數(shù)組指針
    的頭像 發(fā)表于 06-29 15:38 ?1.5w次閱讀
    理解函數(shù)<b class='flag-5'>指針</b>、函數(shù)<b class='flag-5'>指針</b><b class='flag-5'>數(shù)組</b>、函數(shù)<b class='flag-5'>指針</b><b class='flag-5'>數(shù)組</b>的<b class='flag-5'>指針</b>

    C語言總結(jié)_數(shù)組與函數(shù)練習題

    字符串標準處理函數(shù)介紹(string.h)、指針數(shù)組當做函數(shù)形,指針定義、函數(shù)返回指針、void類型定義
    的頭像 發(fā)表于 08-14 09:36 ?850次閱讀

    二維數(shù)組數(shù)組指針以及指針數(shù)組

    二維數(shù)組數(shù)組指針以及指針數(shù)組
    的頭像 發(fā)表于 08-16 09:02 ?2700次閱讀

    數(shù)組/指針問題

    自定義函數(shù)里形的類型,要和函數(shù)調(diào)用中傳過去的實參類型相對應(yīng)
    的頭像 發(fā)表于 08-17 10:37 ?1098次閱讀

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

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

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

    C語言調(diào)用函數(shù)時虛實結(jié)合的方法都是采用“值傳遞”方式,當用變量名作為函數(shù)參數(shù)時傳遞的是變量的值,當用數(shù)組名作為函數(shù)參數(shù)時。 由于數(shù)組名代表的是數(shù)組元素地址,因此傳遞的值是地址,所以要去形
    的頭像 發(fā)表于 03-10 14:45 ?957次閱讀

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

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

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

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

    數(shù)組指針不相同嗎?數(shù)組指針有哪些區(qū)別

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

    面試???1:函數(shù)指針指針函數(shù)、數(shù)組指針指針數(shù)組

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