指標變數和其他資料型別所佔位元組問題:
sizeof(資料型別)的返回值為該資料占得位元組數
// 例子:sizeof(int)=4
// 假設p指向char型別變數(1個位元組)
// 假設p指向int型別變數(4個位元組)
// 假設p指向double型別變數(8個位元組)
//1、用於資料型別
//sizeof使用形式:sizeof(type)
//資料型別必須括號括住,如sizeof(int)。
//2、用於變數
//sizeof使用形式:sizeof(var_name)或sizeof var_name
//變數名可以不用括號括住。如sizeof(var_name),sizeof var_name。但帶括號的用法更普遍,
//注意:sizeof操作符不能用於函式型別。
//如:1)sizeof(max),變數max定義為int max();
//2)sizeof(void)
//這些都不是正確形式。
////三、sizeof的結果
////1、若運算元具有型別char,sizeof(char) = 1。
//2、int、float、double型別的sizeof大小:
//sizeof(int) = 4
//sieof(float) = 4
//sizeof(double) = 8
//char a1 = 「abc」; sizeof( a1 ); // 結果為4,字元 末尾還存在乙個null終止符
//3、當運算元是指標時,不管是什麼型別全部為4個位元組
//4、當運算元具有陣列型別時,其結果是陣列所占用的的記憶體總位元組數。
//如:int a[10],sizeof(a) = 40。
//式作為sizeof的運算元時,它返回的是表示式計算結果的型別大小,但是它不對表示式求值。如:int a = 10, sizeof(++a)。結果為4。
#include
intmain()
《c和指標》筆記3
預設鏈結屬性,external,儲存於靜態記憶體 int a 5 預設鏈結屬性,其實extern是可以不要的,但是風格上加上關鍵字是有好處的,儲存於靜態記憶體 extern intb 因為加上了static,鏈結屬性從external變為internal,原始檔私有,儲存於靜態記憶體 static ...
《C和指標》學習筆記(3)
1.5 在之前的rearrange函式語句中,if columns col len.break 當字元的列範圍超過輸入行的末尾就停止複製,這種方式只適合列範圍以遞增順序排列的時候,請修改這條語句使列範圍不是按順序讀取的時候也可以完成任務。include include include define ...
c primer學習筆記3 陣列和指標
現代c 程式應盡量使用vector和迭代器型別,而避免使用低階別的陣列和指標。設計良好的程式只有在強調速度時才在類實現的內部使用陣列和指標。1 字串字面值以空字元結尾 2 陣列下標的正確型別是size t 1 指標與引用 a.引用必須初始化,而指標不必,故指標使用時必須檢查是否為空 b.引用一旦初始...