⑴ c語言 scanf();為什麼要用取地址符
scanf(「格式控制字元串」, 地址表列);
其中,格式控制字元串的作用與printf函數相同,但不能顯示非格式字元串,也就是不能顯示提示字元串。地址表列中給出各變數的地址。地址是由地址運算符「&」後跟變數名組成的。
例如:&a、&b分別表示變數a和變數b的地址。
這個地址就是編譯系統在內存中給a、b變數分配的地址。在C語言中,使用了地址這個概念,這是與其它語言不同的。 應該把變數的值和變數的地址這兩個不同的概念區別開來。變數的地址是C編譯系統分配的,用戶不必關心具體的地址是多少。
變數的地址和變數值的關系
在賦值表達式中給變數賦值,如:
a=567;
則,a為變數名,567是變數的值,&a是變數a的地址。
但在賦值號左邊是變數名,不能寫地址,而scanf函數在本質上也是給變數賦值,但要求寫變數的地址,如&a。這兩者在形式上是不同的。&是一個取地址運算符,&a是一個表達式,其功能是求變數的地址。