1樓:匿名使用者
1全部程式是錯的!
首先要知道,陣列a,各元素的地址是連續的。
當a定義為陣列時a[5],那麼系統會給陣列分配一個連續(物理上是連續的)的儲存空間。這樣將p=a,就是將陣列的首地址賦予了指標p,然後p++就是指向了連續地址的下一個元素地址,是合法的。
但是,如果a不是陣列,(如你的程式),p=&a,將變數a的地址賦予了指標。這時,你p++,就指向了與整型變數a物理上相連的下一個地址,但是,這個地址系統沒有預先分配,那麼就不知道是否可用,所以,不能p++。
2樓:無憂小夢
a的值沒有變化(a 初值系統只給一次)..所以*p就沒有變了
可以用p++ .它就類似於.陣列裡的下標自動加1
多看書..當然這些知識我不推薦看tan hao qiang 的..看其它版本的.如電子工業出版的等等
3樓:匿名使用者
我可以很明白的告訴你。。
陣列其實就是指標。。
!!!!!
指標一樣可以當陣列那樣用不信你試試看p[0]可是也能輸出。
陣列就是指標,它指向了陣列的開頭第一個元素。!!!
樓主注意了。
4樓:匿名使用者
之所以說不能這樣用p++是因為會發生越界訪問,a是整型變數,但你並不知道其後單元儲存的資訊是否有用,強行訪問並修改其後單元的內容,有可能帶來安全隱患和重大的錯誤.最好別這麼用。
5樓:
頂樓上的,你這個程式確實有問題。定義變數時a應該是陣列就對了,比如int a[5],這樣才能正確呼叫。另外,當正確定義了之後。
陣列名和指標變數還是有區別的:
1.非形引數組名是指標常量,而不是指標變數,在學習陣列的時候,應該瞭解 到 ,陣列名就是這個陣列的首地址,所以p=a與p=&a[0]作用是相同的。二維陣列就有區別,這我就不說了
2.形引數組是指標變數
所以,也可以片面理解為陣列的作用相當指標,但是決不能說陣列就是指標
c語言的函式指標舉個例子,c語言中函式指標是什麼 有什麼用 舉個例項
劉文正粉絲 函式指標告訴cpu下一步需要執行 的 的指標,一陣列十分相像.include void function int i,double d 一個函式的宣告 void anotherfunction int i,double d 另外一個函式宣告 int main mxl033 回答是對的。v...
求救!c語言函式大全,求助c語言的全部圖形函式庫
圖形和影象函式包含在graphics.h裡面 一 畫素函式 56.putpiel 畫畫素點函式 57.getpixel 返回畫素色函式 二 直線和線型函式 58.line 畫線函式 59.lineto 畫線函式 60.linerel 相對畫線函式 61.setlinestyle 設定線型函式 62....
c語言指標作為函式變數怎麼用,c語言 編一程式 交換兩個變數的值(用指標做函式引數)
最大的寶寶 在函式exe中,應該用指標來改變它指向的值,而不單純改變指標的值。因為這個指標只是一個拷貝,改變它的值毫無意義 void exe int p,int q int main return 0 void exe int p,int q include void exe int p,int q...