c語言為什麼這裡不用取位址符號,C語言為什麼這裡不用取位址符號scanfd,p而要用P

2021-03-04 09:01:45 字數 1402 閱讀 3924

1樓:匿名使用者

p就是位址,懂嗎?p指向了陣列a,p的位址就是陣列a的位址,p++就指向了下乙個陣列中的位址

2樓:羶

p就是指標。指向陣列a的首位址。每次迴圈p++,指向陣列的下乙個元素的指標

c語言取位址符有什麼用,為什麼scanf一定要用&

3樓:

取地來址符的作用是告訴系源統定義的變數的值存bai放在記憶體du空間的位址

,scanf函式zhi就根據這個位址值定址,然後dao從這個位址空間中取出我需要的資料值,對於變數來說,只能通過&a的方式獲取到該變數在記憶體中的位址,對於指標變數和陣列,就不需要這個取位址符了。**說明如下:

//變數

int a;

scanf("%d",&a);

//指標

int a,*p;

p=&a;

scanf("%d",p);

//陣列

int a[10];

for(int i=0;i<10;i++)scanf("%d",a+i); //a+i<===>&a[i]

4樓:匿名使用者

取位址 就是把變數轉為指標, 起到傳位址呼叫函式的效果.

而c語言中函式

傳參有兩回種,傳值呼叫 和傳指標調答用.

傳值呼叫時, 被調函式中改變引數值不會影響主函式.

只有傳指標呼叫, 才可以將引數值回傳給主函式.

scanf中要根據輸入對引數賦值, 所以 必須傳指標呼叫.

c語言scanf(「%d」,p++)中,指標p作為輸入位址為什麼錯誤?

5樓:008列出

在第一次輸入陣列元素後p就指向最後乙個陣列元素的下乙個位址了,所以要在輸出之前再加上乙個p=a;語句重新將p指向a[0].

6樓:權苑冠曉暢

p就是位址,懂嗎?p指向了陣列a,p的位址就是陣列a的位址,p++就指向了下乙個陣列中的位址

c語言scanf(「%d」,p++)中,p為什麼已經指向a[4]後面的單元

7樓:尹珍貴族

p=a,p指向了陣列a的首位址,此時p可像陣列那樣操作,如p[0]=a[0]。

在下面的for迴圈中,i=4時結束迴圈,此時p自增了5次.即p=p+5。

所以p=&a[5].即p指向了a[5]的位址。

8樓:憤激澳匱

《從頭跨》休說大話,莫要自誇,山外有人家。天也忒大,地也忒大,挺要緊自家腳步從頭跨,從頭跨......

9樓:銷

迴圈五次每次++,就從指向a[0]變成指向a[5]了

c語言符號是什麼意思,c語言中符號 是什麼意思

取反,再取一次反.1 5結果為0,2 5相當於 5 0,最後的結果是1.總結 非零的數表示真,那麼 零這個數字 自然而然 就表示假.這個符號在c語言裡是沒有的,應該是c 中的符號,用在定義函式的時候,在函式名前面加類名和 格式如下 類名 函式名,意思是該函式是屬於這個類的。樓上的不夠嚴謹 是作用域操...

請問c語言中和的意思,C語言中 和 符號是什麼意思?

是邏輯與.a b 只有當a和b都為真時,結果為真.否則為假.a b是邏輯或,當a和b都為假時,結果為假.否則為真.int a 1,b 2,c 3,d 4 c a b 1 2 1 d a b 1 2 1 c語言在進行邏輯與和或運算的特殊性 a b 如果a為0,則上述表示式的值為0,這時不進行b的運算 ...

c語言中 是啥意思?c語言中符號 是什麼意思

左移符號,就是把相關值的二進位制位向左移動,結尾補0,比如5 2就是把5的二進位制00000101向左移動2位,結果為00010100 左移符號,就是把相關值的二進位制位向左移動,右邊空出的全部補0,比如5 2就是把5的二進位制00000101全部向左移動2位,結果為00010100 左移右邊補零,...