1樓:匿名使用者
r=j;這句錯了,你的第二行**宣告瞭一個引用變數,它返回的是對變數i的引用,這種引用變數在宣告並賦值後是不允許再讓它引用另一個變數的(要注意的一點是這種引用變數在宣告時一定要賦值)。還有*p=&r這句也錯了。&r返回的是一個地址,而*p返回的是變數i的值。
把一個地址賦值給一個int變數是不允許的。希望這麼說你能明白!
補充:為什麼*p=&r 錯了 int *p=&i沒錯呢?
int *p=&i這句沒錯,因為i是一個整型變數。表示p這個指標指向變數i,p是變數在記憶體中的地址。而*p=&r這句錯了,因為r本身就是引用變數i,&是取地址運算子。
它只能作用於一個變數而不是作用於一個引用變數。
2樓:匿名使用者
*p=&r;
指標賦值為地址
3樓:匿名使用者
*p=&r錯了應該是p=&r
4樓:匿名使用者
p是指標,*p是指標指向的內容。賦值的時候應該給指標直接賦值地址,或者申請動態空間再給*p賦值。
5樓:
此處 r=j ;也是錯的。
6樓:澄瑜蓓
好像*p=&r;錯吧。。。
是p=&r;
c語言簡單問題
可以檢視msdn srand 是初始化一個種子,就是說隨機數是從哪個數開始,常以系統內時間來初始化,即 srand unsigned time null randomize 是vbscript or pascal中的函式,容也是初始化的作用,預設是以系統時間為種子的,這是delphi help中的解...
C的簡單問題
foreach int i in arr 定義 foreach 函式 包括兩個引數 一個整型 i 一個陣列型指標 arr foreach就是陣列裡的自加 等同於for i 0 i 當然arr可能沒有lenght方法,但就是這個意思 int arr new int 宣告int 型的陣列 foreach...
C 簡單問題求解
此例中可以不括,但為了方便閱讀還是括好 是賦值語句 才是判斷是否相等 if flag 是良好書寫形式,此外int用 和!float用一個精度比較 指標和null比較 1.規範是每個 對應一個 如果if裡只有一條語句,可以不加 1.不是必要的,但是為了 的可讀性,還是加上比較好 2.if flag t...