c語言關於指標的求解,C語言中關於指標的指標問題?

時間 2021-08-30 09:12:50

1樓:出釹

int x[10] = , *p1;

(a) x[3]// x[3]=3 陣列從0開始,3其實是第四個(b) p1 = x + 3, *p1++ //先執行p1=x+3,也就是指向x[3],因為p1定義成指標。*p1++ 這時候先執行再加,這表示式仍然是3

(c) p1 = x + 2, *(p1++) //p=x+2 ,x陣列的地址加2,也就是指向x[2],x=2,這時候p++同時也是先執行後加,所以取出x[2]的值,所以等於2

(d) p1 = x + 2, *++p1//同樣,p1指向x[2],但++是先加再執行*取值,所以++p指向x[3],取出來的值就是3

答案是 c

2樓:匿名使用者

(a) x[3] // 肯定為3,不用說

(b) p1 = x + 3, *p1++ // x[3] 3

(c) p1 = x + 2, *(p1++) // x[2] 2

(d) p1 = x + 2, *++p1 // x[3] 3選c

3樓:後赩修嘉美

for(k=0;k<4;k++)

這個迴圈多了一次,因為你的a只有3行,但是卻迴圈了4次,所以越界了,應該把k<4改為k<3

c語言中關於指標的指標問題?

4樓:匿名使用者

指標變數存的來是地址

自,地址中的內容是資料

二維指標變數存的也是地址,只是址中的內容還是地址如:int i ;

int *p;

int **pp;

i=0; //i變數中存的是資料10,i是個變數名p=&i; //p變數中存的是i的地址 *p==i==5pp=&p ; //pp中存的是p變數的地址 *pp==p==&i **pp==i==5

5樓:

兩個星號表示二級指標,說明他也指向一個指標,他所指向的指標的值是5

c語言,關於指標

6樓:愛你撒啊咯去咯

(3)(4).int **pp;定義了來一個整型二級指標自baipp,pp也是一個指標變數,只不過它存du儲的是指zhi針p的地址,而dao指標p儲存的是k的地址.

(5):*=是賦值運算子,a*=b時,等價於a=a*b。

*pp表示的是p的值,即為k的地址,**pp即為k;k*=2,等價於k=k*2,即為將k增加一倍。

滿意請採納,不懂請追問。

7樓:匿名使用者

不知道你是否有看清楚題意

(3)、指標

加*,指向指標加**,假設有一個整形的指內針變數容為*p,那麼如何再定一個變數指向*p呢,自然是int **pp;

(4)、如果pp是指向指標的指標,也就是雙重指標,那麼p為指標,將指向指標的指標指向指標自然就是**pp=&p;

(5)、雙重指標取值和賦值,**pp就是取值,賦值就是**pp=,那麼假設**pp已存放k的值,將k的值翻倍就是**pp*2,然後再將值賦予**pp就是**pp = **pp * 2,又由於算數運算子大於指標運算子,所以給加上(),優先運算指標運算子將值取出來,然後用c的語法糖*=簡化**

不知道你是否真的理解了指標或者是題意,這裡的回答避免不了複雜的敘述,將簡單事物說的複雜不是難事,將複雜的事物敘述簡單才是難事,可是要把1+1為什麼等於2這件事說清楚更是難事。

c語言中函式指標用法,C語言中函式指標用法

函式在記憶體中有一個物理位置,而這個位置是可以賦給一個指標的。一零點函式的地址就是該函式的入口點。因此,函式指標可被用來呼叫一個函式。函式的地址是用不帶任何括號或引數的函式名來得到的。這很類似於陣列地址的得到方法,即,在只有陣列名而無下標是就得到陣列地址。怎樣說明一個函式指標變數呢 為了說明一個變數...

關於c語言指標呼叫函式,關於C語言中指向函式的指標的呼叫問題

第一條紅線是定義乙個函式指標 第二條紅線起強轉作用,把0xd010f0強轉為對應的函式指標型別 我寫的這個程式可以幫你理解.常量位址被printab取代 劃紅線的是宣告了乙個函式指標,這個函式的兩個引數和返回值都是int,然後將0xd 的位址強制轉換為函式啊 同下面類似 typedef int fu...

c語言指標的概念,論述C語言中指標的概念和作用,並舉例說明

指標是c語言中廣泛使用的一種資料型別。運用指標程式設計是c語言最主要的風格之一。利用指標變數可以表示各種資料結構 能很方便地使用陣列和字串 並能象組合語言一樣處理記憶體地址,從而編出精練而高效的程式。指標極大地豐富了c語言的功能。學習指標是學習c語言中最重要的一環,能否正確理解和使用指標是我們是否掌...