#define debug(format, ...) fprintf(stdout, format, __va_args__)
#define trace(format, args...) fprintf(stdout, format, args) 變參巨集的定義方式
typedef struct _line line;
line *pline;
int addtional_length;
addtional_length = 10;
pline = (line*)malloc(sizeof(line) + addtional_length);
pline->length = addtional_length; 0長度陣列的一種使用方法,在這裡sizeof(line)為4
char ch = 'v';
switch(ch) 可以case乙個range
printf("%-15s:/n", "hello"); 輸出:
hello :
printf("%15s:/n", "hello"); 輸出:
hello:
使用的g++版本為:4.3.3
使用c 的一些建議
1 不要使用巨集,用const或enum定義常量 用inline避免函式的額外呼叫 使用inline的函式,塊裡面盡量不要使用迴圈和遞迴 用template去荷花一些函式或者型別 用namespace去避免命名衝突 2 不要在你需要變數之前去宣告它,以保證你能立即對他進行初始化 宣告可以出現在所有位...
C 使用指標的一些情境
關於指標的基本概念網路上有很多,這裡列的是一些細節,加深理解。為正在學習c c 的人提供。一 指標概念的核心 指標 儲存的是另乙個物件的位址。string s hello world string p s 指標 p 指向的是 string 型別的物件 s,即指標 p 儲存 s 的位址 瞎寫 0xss...
C 使用protobuffer的一些坑
原文 最後總結一句,使用protobuf,在c 中給string賦值c字串的時候一定要指定長度,因為事實上賦值的內容可能是乙個bytes陣列,而不是乙個標準的 0 結尾的字串。賦值範例如下 char pdata 1024 serialized data int length getdatalengt...