請教各位老師c語言指標的問題謝謝急急

時間 2022-01-01 12:55:42

1樓:匿名使用者

程式沒有任何問題.

main( )

,*p2;

p1=&i; p2=a; //本行是進行指標賦值, p1為i指向的儲存空間; p2為a指向的儲存空間. 注意, 這裡的a為乙個陣列, 陣列中是整形資料, 總共三個資料.

p1=p2+2; //本行是進行指標運算, p1為指向p2後兩個元素的空間(15為移0,30為移1, 45為移2)

printf(「%d,%d\n」,*p1,*p2);//所以*p1應該是p1指向的45, *p2應該是p2指向的15.}

2樓:

結果是 45 ,15

p2=a;

p1=p2+2=&a[2]

p2=&a[0]

*p1=a[2]=45

*p2=a[0]=15

3樓:系榆

樓上說的是錯的,p2儲存的事陣列a的首位址,執行結果是

45,15

但是你的程式還是有錯的,printf函式裡面的雙引號你用的是中文符號

4樓:木有想到

45,15,這麼簡單,還有必要問人嗎?要學會先自己處理一下問題,你有沒有自己執行一下看看,還是在考試呀???

5樓:匿名使用者

錯了吧,p2是指向陣列的指標,p1=p2+2;會報錯吧,你要指定是p2[index],才能加吧。

6樓:

p2 是陣列a[ 3 ]的首位址,即a[ 0 ]的位址,因為陣列的位址是連續的,所以p2 + 2 就是之後的第二個位址即a[ 2 ]的位址,p1指向該位址,就是說p1指向的是a[ 2 ], 所以輸出的值應該是: 45,15

7樓:熊霸天

程式執行結果是 45,15

c語言16位指標如何指向32位有符號數的高16位,謝謝,急!!!

8樓:匿名使用者

不明白這樣的需求,同乙個執行環境中指標位寬都是一樣的,如果你是想使用hack技術將指標拆分便於跨系統傳遞,可以如下處理:

int a=-10;

int *p=&a;//32位系統下指標位寬為32位long pp=(long)p;//將指標強制轉換為long(32位)

int ph=(pp>>16);//右移2位元組取高16位int pl=pp&0xffff;//掩碼遮蔽掉高16位取低16位cout<

希望能幫到你。

9樓:風若遠去何人留

unsigned short *p;

unsigned long a;

p = (unsigned short *)&a + 1;

這樣就可以了

乙個c語言指標問題,指標型別強制轉換,求高手分析! 30

10樓:

是這樣的,c語言中,32-bit系統int和float雖然都佔4個位元組,

但是他們在記憶體中的儲存方式是不一樣的。

int型的3在記憶體中32-bit 16進製制是0x00000003

float型的3在記憶體中32-bit 16進製制是0x40400000

當你把指標v(原本指向int型)強制轉換指向float型時,

取值是根據float型方式去取值,所以是以float的記憶體儲存方式解釋,

所以pi在記憶體的值即3以float型解釋的話就變成:

1.000 0000 0000 0000 0000 0011e-127.

再取整的話顯然是0. 所以輸入結果變成了0.

float在記憶體中的儲存方式可以參考:

希望對你有幫助。

11樓:天雲一號

int *v = π 你這個可以這麼賦值麼,int型別不能給int *型別賦值

請教C語言高手,請教各位C語言高手

正確 正確 正確 正確 正確 錯誤 錯誤 正確 正確 錯誤 a c d c a 建議樓上的複習c基礎知識 1.3.6.9對 其他錯 a c b a a 請教各位c語言高手 請教c語言高手乙個問題 請教c語言高手 請教c語言高手.就是基本的stdio函式 樓上的有乙個問題是應該從鍵盤接受兩個數字賦給n...

c語言高手請進,請教各位c語言大佬?

main 跟著程式一步一步走。剛開始定義y 10 然後進入while迴圈。在迴圈的時候 首先y y的值就變成了9while 括號裡除非是0,否則都會進行迴圈。while 0 的時候會停止迴圈。while 9 輸出 y 9 然後y y變成8 然後y 8依次類推到y 0 所以輸出結果 答案 是 y 9y...

c語言程式設計問題請教,C語言程式設計問題請教

veket的小號 已測試,正確 c free 4.1 mingw 3.4.5 veket的小號 include void trimfrnt char int main void trimfrnt char s include char trimfrnt char s void main char t...

菜鳥請教c語言問題,菜鳥請教C語言問題

已改,看注釋 struct student struct student students 2 int main 差個main函式printf n nstudents information n for i 0 i 2 i return 0 struct student students 2 這句不...

求教c語言,C語言請教

include main printf 共有 d個 n printf 所有完全數為 完全數是指它的因數之和等於它本身的數,如6 1 2 3 第一題。include int main printf 四位數之中各個位數之和為20的數有 d個 j 第二題。include int main printf 前...