[問題] 剛開始學C的新手遇到的問題
最近在學指標的時候遇到一些問題
先po程式碼
int *p = 0, num[3][3];
srand(time(NULL));
for (p = &num[0][0]; p <= &num[3][3]; p++)
{
*p= rand()%10+1;
p++;
}
for (p = &num[0][0]; p <= &num[3][3]; p++)
{
printf("%d\n", *p);
p++;
}
主要是練習利用指標達成陣列的應用
將儲存的隨機數存到指標所指向的位置
在執行的時候遇到一些問題
1.為什麼整個迴圈只跑了七次而不是九次?
2.當我把陣列改成4*4的時候會發生存取違規,請問這是為什麼呢?
3.為什麼我這樣寫指標的記憶體是位移8? 不是應該是4嗎?
4.想順便請教二維陣列的記憶體配置
謝謝解答Orz
--
作者 NerVGear (Phantom) 看板 Gossiping
標題 [問卦] 有沒有記得最熟課文的八卦
時間 Thu Apr 9 17:16:15 2015
───────────────────────────────────────
推
04/09 17:16,
04/09 17:16
→
04/09 17:17,
04/09 17:17
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.43.242
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1450842015.A.AB0.html
→
12/23 11:48, , 1F
12/23 11:48, 1F
剛剛發現PO上來少打的& 謝謝提醒
原本是有&的XD
→
12/23 13:39, , 2F
12/23 13:39, 2F
把p++去掉了 但是卻出現違規存取 請問這是什麼問題呢?
※ 編輯: NerVGear (36.231.27.115), 12/23/2015 14:09:43
→
12/23 15:19, , 3F
12/23 15:19, 3F
→
12/23 15:19, , 4F
12/23 15:19, 4F
想請問為什麼是違規呢?
※ 編輯: NerVGear (36.231.27.115), 12/23/2015 15:35:18
推
12/23 16:45, , 5F
12/23 16:45, 5F
對齁 一直忘記這個Orz 謝謝
※ 編輯: NerVGear (223.136.61.4), 12/23/2015 17:46:36
Programming 近期熱門文章
PTT數位生活區 即時熱門文章