亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語言

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

時間:2025-02-20 18:23:52 C語言 我要投稿
  • 相關(guān)推薦

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

  本文是百分網(wǎng)小編整理的關(guān)于C語言重指針與數(shù)組的詳解及對比的相關(guān)資料,供參考學習,希望對大家有所幫助!想了解更多相關(guān)信息請持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  C語言 指針與數(shù)組的詳解及對比

  通俗理解數(shù)組指針和指針數(shù)組

  數(shù)組指針

  eg:int( *arr)[10];

  數(shù)組指針通俗理解就是這個數(shù)組作為指針,指向某一個變量。

  指針數(shù)組:

  eg:int*arr[10];

  指針數(shù)組簡言之就是存放指針的數(shù)組;

  ——數(shù)組并非指針&&指針并非數(shù)組

  (1)定義一個外部變量:

  eg:int value=10; int *p=&value;

  舉例:當需要在一個函數(shù)中用這個變量時:externa int*p;而非extern int p[];

  分析:當用:extern int p[];這樣的形式時,其實是:由于在定義這個變量的時候,是作為一個指針而定義的,則p指向的是 value的地址,當p當做一個數(shù)組被引入是,它其實存放的是value的地址,而并非指向value,導致調(diào)用出現(xiàn)錯誤。

 。2)定義一個外部變量:

  eg:int arr[10]={0};

  舉例:當需要在函數(shù)中引入這個外部變量時:extern int arr[10];而非extern int *arr;

  分析:當用extern int *arr;這樣的方式進行引入是,實際上這樣是不對的,在定義這個變量的時候是作為一個整形數(shù)組來定義的,但是在聲明的時候是用指針來聲明的,通過數(shù)組聲明可以訪問到整個數(shù)組,但是通過指針實際上聲明的指針并非指向數(shù)組,而是指向arr[10]數(shù)組中首元素arr[0]地址的指針,導致訪問出現(xiàn)問題。

  ——二維數(shù)組與指針的關(guān)系

  定義一個二維數(shù)組arr[3][3],由于二維數(shù)組在內(nèi)存中也是按照順序存儲,而并非我們所認為的按照矩陣形式存儲的。所以,arr[3]其實就相當與一個數(shù)組指針;指向arr[0][0],arr[1][0],arr[2][0].

  ____數(shù)組與指針的其他區(qū)別

  (1) 指針保存的是數(shù)據(jù)的地址;

  數(shù)組是用來保存數(shù)據(jù)的。

 。2)指針訪問數(shù)據(jù)是通過數(shù)據(jù)的地址進行解引用,間接訪問的;

  數(shù)組訪問數(shù)據(jù)是直接的。

  (3)指針通常用于動態(tài)數(shù)據(jù)結(jié)構(gòu);

  數(shù)組用于存放固定數(shù)目而且類型相同的數(shù)據(jù)。

 。4)指針通常指向匿名數(shù)據(jù);

  數(shù)組通常存放已知的。

【C語言中指針與數(shù)組的詳解及區(qū)別】相關(guān)文章:

C語言數(shù)組與指針詳解08-15

c語言知識:數(shù)組指針和指針數(shù)組的區(qū)別07-27

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

C語言指針數(shù)組的概念07-19

如何使用C語言數(shù)組指針09-14

C語言-15:多維數(shù)組與指針07-25

c語言指針中的二級指針示例詳解11-07

C語言指針用法詳解08-21

C語言的指針類型詳解05-21