Re: [問題] 指標問題
※ 引述《iamyu58 (我是誰)》之銘言:
: 我想問一個指標的問題
: 下面是我打的程式碼(我是新手 請見諒)
: #include<stdio.h>
: int main()
: {
: int *ptr=0;
: printf("ptr:%d\n",*ptr);
: printf("ptr+1:%d\n",(*ptr)+1);
: printf("ptr+2:%d\n",(*ptr)+2);
: return 0;
: }
: 為什麼執行結果會有錯?
: 我原本預期的是
: ptr:0
: ptr+1:1
: ptr+2:2
: 請大家幫我解惑 謝謝
*ptr 是提取以 ptr 所指向之位址所存的值
但是 int *ptr = 0;
因此 ptr 並沒有指向任何東西
如果想要知道此時 ptr 所指向何處
應該使用 printf 的 pointer format : %p
printf("ptr: %p\n", ptr); // 注意此處是傳 ptr 本身
printf("ptr+1: %p\n", ptr+1);
printf("ptr+2: %p\n", ptr+2);
以此類推
--
有時候,遺忘,是令人快樂的。什麼時候?當然是有人傷了你的心的時候。
存心傷你的那個人,固然是故意和你過不去,但是被傷了心而耿耿於懷的你
,卻是和自己過不去了。所以,記性不好的人,通常會是比較快樂的人,也
是比較不容易被擊倒的人。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.50
推
11/16 00:35, , 1F
11/16 00:35, 1F
推
11/16 00:51, , 2F
11/16 00:51, 2F
→
11/16 00:51, , 3F
11/16 00:51, 3F
→
11/16 00:51, , 4F
11/16 00:51, 4F
→
11/16 00:52, , 5F
11/16 00:52, 5F
→
11/16 00:53, , 6F
11/16 00:53, 6F
→
11/16 00:53, , 7F
11/16 00:53, 7F
→
11/16 00:53, , 8F
11/16 00:53, 8F
→
11/16 00:54, , 9F
11/16 00:54, 9F
→
11/16 00:54, , 10F
11/16 00:54, 10F
→
11/16 00:54, , 11F
11/16 00:54, 11F
→
11/16 00:55, , 12F
11/16 00:55, 12F
推
11/16 01:13, , 13F
11/16 01:13, 13F
→
11/16 01:14, , 14F
11/16 01:14, 14F
推
11/16 01:19, , 15F
11/16 01:19, 15F
→
11/16 01:19, , 16F
11/16 01:19, 16F
→
11/16 01:19, , 17F
11/16 01:19, 17F
→
11/16 10:04, , 18F
11/16 10:04, 18F
→
11/16 10:04, , 19F
11/16 10:04, 19F
推
11/16 10:28, , 20F
11/16 10:28, 20F
→
11/16 10:29, , 21F
11/16 10:29, 21F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章