有關指向指標的指標的問題,一個有關指向指標的指標的問題?

2022-06-29 19:32:37 字數 2396 閱讀 9964

1樓:匿名使用者

指標,全稱是指標變數,如:char *pc ; pc是指標變數,我習慣上叫他指標(就因為這個叫法讓人迷惑了)。char **ppc;ppc也是指標變數,我們習慣上稱它為指向指標的指標。

這些習慣上的叫法,其實沒有真正體現它們的實際意義!我們來看定義:

指標變數(定義):存放地址的變數稱為指標變數。指標變數是一種特殊的變數,它不同於一般的變數,一般變數存放的是資料本身,而指標變數存放的是資料的地址(我們可以根據這個地址獲取到資料的值)。

所以,上面舉的例子中,char **ppc的嚴格意義說法應該是:ppc是指向地址的指標變數!

還有一種習慣說法是:

int a;

int *pi=&a ;

這時,我們習慣稱pi指向a。實際上是把a的記憶體地址存到pi變數中了,如果想引用pi所指的地址中的資料,就用*pi。

q = &a[k];

*q 就是a[k]

**q =*(*q)就是a[k][0]

a[k]是一個字串的首地址。

char *a =;//意思是a是個陣列,它有5個元素(a[0]-a[4]),每個元素都是一個字元型指標,這些指標分別指向常量串:="man","woman","girl","boy","sister" 。

不知現在你能理解你的輸出結果了嗎?

2樓:匿名使用者

不知道你具體要問什麼問題?

你的輸出結果也沒有什麼異常的地方呀~~~

3樓:匿名使用者

其實在c語言中,「man」是個字串,但他的值是指標常量(指向某個陣列的首元素),如:1、

q=&a[0];即q=&a;q是這個陣列的指標,那麼*q就等於a[0];即是「man」

2、a[0]也是個指標他是等於「man」;即相當與再有個陣列int b="man";*q=a[0]=b;那麼**q=*a[0]=*b=b[0]='m'.

一個用指標變數指向陣列元素的問題

4樓:禚瑤盛鳥

兩個指標變數指向同一個陣列的元素,則該變數的值相等。

如:int

*p1;int

*p2;

p1=&a[i];

p2=&a[i];

則p1-p2=0

如果對p1賦值為1;對p2賦值為4;即p1=1;p2=4;

則p2-p1=4-1=3

5樓:

你沒有弄明白指標賦值的意義。若有int a[10],*p,那麼指標賦值是p=a,而不是*p=a。*p=a是把指標a賦給了指標p指向的內容,是非法的。

而且p=a也不是把a的地址複製給p,而是使p指標和a指標一樣都指向a[0],即讓p也指向a指向的內容。而p和a都還在兩個地方放著,其地址根本不同。你**中for (p=a ; p<(a+10) ; p++)的寫法是正確合法的。

6樓:匿名使用者

因為此時的p是一個沒有進行初始化的int型的指標,所以*p肯定是指向一個未知的地址空間,所以會報錯,第二個問題是由於你這樣寫的話就會出現p越界的問題,不是在這個陣列的指定的範圍之內了,希望對你有幫助!

7樓:

int* p;這一句表示p為一個int型的指標。所以簡單理解在賦值的過程中應該是p=a,如果p=a,則a[10]應該表示為*(p+10).

在for之前p並沒有合法的初值,所以要用p=a給p賦初值。如果你的意思是把p=a直接替換成(p+10),那這不是合法的表示式,不能放在for的括號裡,語法上就是不正確的。

8樓:匿名使用者

p是指標,*p是值,*p+10 是值加10 ,空的*p是不能賦值的,除非 p=new int,才能給*p賦值。或p=a;這樣*(p+1),p[1],*(a+1),a[1],都是一個意思。

9樓:潘達

*p=a? *p不是指標變數,而是個int變數,你把一個指標變數賦值給int變數型別對不上就錯誤了,只有p=a才是合法的。。。。

至於第二個,不知道你什麼意思,如果你是寫語句p

10樓:

1. 陣列實質上是指向一段連續記憶體區域起始地址的指標,所以int[10]可以複製給int*,這樣只會造成陣列退化(編譯時長度資訊丟失)。

2. *p = a永遠不會錯,因為你只是將a的值賦給了p所指向的記憶體區域,這句在編譯時永不會報錯。

3. (*p + 10)和(*(p + 10))你要區分清楚,一個是將p指向的值和10相加的結果,一個是取p+10對應的記憶體地址的值。

4. *(p + 10)錯的原因很簡單,你將p看成陣列,你p是int[10],你能使用p[10]嗎!?明顯的陣列越界!

有關煤炭質量指標,煤炭的質量指標包括哪些

還是我給你總結一下吧 首先是電煤的 主要考核收到基低位發熱量 q 其次是硫份 s 電煤只能用於燃燒 不能作為 煉焦用煤 其次是原煤的 所謂原煤就是可以加工的煤 洗煤廠就是專門採購原煤然後經過加工就可以生產 洗精煤了 再次就是洗精煤了 洗精煤就是煉焦用煤 主要考核指標是收到基全水 m 空幹基灰分 aa...

平均指標的應用平均指標應注意的問題

1 計算和應用 平均指標必須注意現象總體的同質性。只有在同質總體的基礎上計算和應用平回均指標,才有真是的答社會經濟意義。如果根據不同性質總體的資料資料計算平均指標,就會掩蓋事物的本質差別,得到的平均數是虛構的平均數,不能真實反映現象的一般水平。2 用組平均數補充說明平均數。3 計算和運用平均數時,要...

為什麼指向陣列的指標本身和取值後是一樣的

陣列指標 也稱行指標 定義int p n 優先順序高,首先說明p是一個指標,指向一個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 inta 3 4 int p 4 該語句是定義一個陣列指標,指向含4...