保證某些全域性變數的常量性
// c++, c++中不能通過變數來定義陣列
const
int row = 10;
const
int col = 10;
// c
#define row 10
#define col 10
or
enum
;
c-style型別轉換
(new-type)expression
static_cast
(expression)
double res = (double)x/y; // c-style type cast
double res = static_cast
(x)/y; // c++-style
函式指標的定義
typedef void(*func)();
全域性結構體變數也會被預設進行初始化
typedef
struct tagmemorecord
memo_record;
memo_record m1;
int main(int, char**)
字串的長度
char* str = "hello";
std::cout
<< sizeof(str) << std::endl;
// 4, 乙個指標所佔位元組數
std::cout
<< strlen(str) << std::endl;
// 5, 乙個字串的**有效長度**
char str = "hello";
std::cout
<< sizeof(str) << std::endl;
// 6, "hello"在記憶體的中的表示為`hello\0`,共六個位元組
std::cout
<< strlen(str) << std::endl;
// 5, 字串的有效長度
可到了吧,指標和陣列名並不完全一致;
進製
unsigned
int a = 0xf;
std::cout
<< a << std::endl;
// 15
C語言拾遺
main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...
C語言拾遺
1.操作符與基本型別 賦值運算子的優先順序低於算數運算子。如 x 3 2即x 3 2 優先順序 高於 高於 高於 一元操作符的關聯是從右到左,和 都必須邦定乙個變數或者叫 左值 如 x 注意 x 並不是左值。例如 z x y,相當於 z x y 字元 0 對應ascii的48,a 對應的是65。無論...
C語言拾遺
1 標頭檔案裡不要放全域性變數,被多次包含時,生成.o檔案連線時會衝突 2 函式體裡變數宣告都要放到前面 3 編譯錯誤 error two or more data types in declaration specifiers 一般都是少了分號,檢查你的 4 引用庫函式時,有函式宣告,使用也沒錯,...