1. 變數的值是變數所對應記憶體區域內存放的二進位制序列,變數的值不會因為變數型別的改變而發生改變,當變數轉換成對應的型別時,記憶體區域的二進位制序列以該型別的形式翻譯出來。這也是強制型別轉換能夠成立的原因。
2. #define pi 3.14
int a=pi;
pi=.01415926;
int b= pi;
printf(「%d %d\n」,a,b) ;
此**出錯 3.14=3.1415926 常量不能被賦值。
3. 形參?
出現在函式定義中的引數,就叫形參
出現在函式呼叫中的引數,就叫實參
例如:函式定義:
int max( int a , int b ) //這裡的
a,b就是形參
4. 形參變數是屬於被調函式的區域性變數,實參變數屬於主調函式的區域性變數。
5. 亂世梟雄 static與
extern
外來和尚會念經extern
鐵布衫const
隱行刺客auto
閃電飛刀register
專一王子volatile
6. %d 讀入十進位制整數
%f 用來輸入實數,可以用小數或整數形式輸入
7.宣告和定義的區別
宣告就是指給除了當前變數或者函式,或者類什麼的名字,不給其中的內容,就是先告訴你有這樣乙個什麼型別的變數或者函式,但是這個變數或者函式的具體資訊卻是不知道的。就好比跟你介紹乙個人的時候,宣告就是只告訴你這個人叫什麼,但是卻不給你說這個人到底怎麼樣,他有哪些優點,缺點,喜好問題是什麼的。
定義就不一樣了,定義直接告訴你了所有的東西,這個變數是什麼,這個函式是什麼功能,這個類裡面包含了什麼東西。很具體的說明。
當然一般對於變數來說,我們不怎麼區分宣告或者定義之類的,一般沒有人去說我要宣告乙個變數,然後定義這個變數什麼的。要說都是直接說定義變數。
宣告一般都是對函式或者類來說的,宣告在前,定義在後。
int a;可以說是宣告,廣泛的說是定義乙個變數
a,也不算錯。
8.c語言的靜態變數的問題
靜態區域性變數相當於全域性變數(只是只有在這個函式中能訪問,但是生命週期是和全域性變數差不多的),函式退出之後變數還在,而且只在
第一次進入的時候做初始化,以後會跳過初始化語句,
保留原來的值(也就是說,如果item是
static
的,那麼只有在
第一次進入這個函式的時候會執行item=0,以後都不會執行。)。
9. 運算優先順序的問題
10. ++i 和
i++的問題
++i是先自加
1,然後再賦值
i++是先賦值,再加1
C語言小問題
define max a,b 於是我開始修改 檢視各種 反饋的結果。int a 10,b 100 int x 好吧,我把圓括號給刪除了,於是編譯器給我報錯了。error expected expression before int int a,b 好吧,不能沒有圓括號,雖然現在還不知道是為啥。然後我...
C 程式設計小問題
1.vs2008中使 對齊的快捷鍵 全選 ctrl a ctrl k,f 格式化 2.定位 前乙個花括號的方法 ctrl 3.opencv 中在使用mat roi 時,需要注意 如果對roi處理會影響全域性的 所以在處理時需要新宣告乙個mat然後clone到這再處理。4.補充vs快捷鍵 在vc200...
C語言 小問題。
輸入如下 harhar enter 程式段如下 while ch getchar n 程式段的輸出是什麼。我得到的輸出是ibsibs。我的思路是 putchar ch h不變,使用後加1 putchar ch 提前加1,h變成i 迴圈上面的效果,得到的輸出是ibsibs。正確的思路 先輸出乙個字元h...