最近在學指標的時候遇到一些問題
先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