超碰免费人人操|国产视频二区久久艹人人操|欧美激情第一页在线|久热最新无码中文视频|91精品国际成人|亚洲成人精品在线视频青青草|久草免费高清完整在线观看|你懂的AV在线日本黄网页|国产黄色AV日韩女同网|欧美成人色区导航片av

c語(yǔ)言知識(shí):數(shù)組指針和指針數(shù)組的區(qū)別

時(shí)間:2025-10-30 07:55:10 C語(yǔ)言

c語(yǔ)言知識(shí):數(shù)組指針和指針數(shù)組的區(qū)別

  指針數(shù)組和數(shù)組指針,這兩個(gè)名字不同當(dāng)然所代表的意思也就不同,下面是其區(qū)別,歡迎閱讀:

c語(yǔ)言知識(shí):數(shù)組指針和指針數(shù)組的區(qū)別

  指針數(shù)組:array of pointers,即用于存儲(chǔ)指針的數(shù)組,也就是數(shù)組元素都是指針

  數(shù)組指針:a pointer to an array,即指向數(shù)組的指針

  還要注意的是他們用法的區(qū)別,下面舉例說明。

  int* a[4] 指針數(shù)組

  表示:數(shù)組a中的元素都為int型指針

  元素表示:*a[i] *(a[i])是一樣的,因?yàn)閇]優(yōu)先級(jí)高于*

  int (*a)[4] 數(shù)組指針

  表示:指向數(shù)組a的指針

  元素表示:(*a)[i]

  注意:在實(shí)際應(yīng)用中,對(duì)于指針數(shù)組,我們經(jīng)常這樣使用:

  1

  2

  typedef int* pInt;

  pInt a[4];

  這跟上面指針數(shù)組定義所表達(dá)的意思是一樣的,只不過采取了類型變換。

  代碼演示如下:

  #include

  using namespace std;

  int main()

  {

  int c[4]={1,2,3,4};

  int *a[4]; /pic/p>

  int (*b)[4]; /pic/p>

  b=&c;

  /pic/p>

  for(int i=0;i<4;i++)

  {

  a[i]=&c[i];

  }

  /pic/p>

  cout<<*a[1]<<endl; p="" 輸出2就對(duì)<="">

  cout<<(*b)[2]<<endl; p="" 輸出3就對(duì)<="">

  return 0;

  }

  注意:定義了數(shù)組指針,該指針指向這個(gè)數(shù)組的首地址,必須給指針指定一個(gè)地址,容易犯的錯(cuò)得就是,不給b地址,直接用(*b)[i]=c[i]給數(shù)組b中元素賦值,這時(shí)數(shù)組指針不知道指向哪里,調(diào)試時(shí)可能沒錯(cuò),但運(yùn)行時(shí)肯定出現(xiàn)問題,使用指針時(shí)要注意這個(gè)問題。但為什么a就不用給他地址呢,a的元素是指針,實(shí)際上for循環(huán)內(nèi)已經(jīng)給數(shù)組a中元素指定地址了。但若在for循環(huán)內(nèi)寫*a[i]=c[i],這同樣會(huì)出問題。總之一句話,定義了指針一定要知道指針指向哪里,不然要悲劇。


【c語(yǔ)言知識(shí):數(shù)組指針和指針數(shù)組的區(qū)別】相關(guān)文章:

C語(yǔ)言中指針與數(shù)組的區(qū)別03-11

C語(yǔ)言指針數(shù)組的概念03-03

C語(yǔ)言數(shù)組與指針詳解10-01

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

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

C語(yǔ)言-15:多維數(shù)組與指針12-17

C語(yǔ)言指針和數(shù)組基礎(chǔ)知識(shí)09-14

c語(yǔ)言數(shù)組指針變量的說明和使用10-17

C語(yǔ)言指針和數(shù)組的學(xué)習(xí)方法11-05