遇到了乙個關於零陣列定義的問題,總結如下:
零陣列的使用的好處是:它在結構裡不占用空間,但是結構可以通過它訪問結構之外的資料。這也給了它的很大的訪問許可權,
因此在通過零陣列訪問之前,一定要檢查訪問範圍的有效性。下面是乙個簡單的例子:
#include
#include
typedef struct array_t;
int data_len = 10;
int main()
輸出結果是:
data[9] = 9
sizeof(array_t) is 4
data[-4] = 10
在網上搜到了這篇文章,值得收藏。
gcc hacks in the linux kernel
GCC擴充套件符( , )
先來說說這兩個擴充套件符的各自用處吧 是將巨集字串化 stringification 是將 左右兩邊的標籤組合在一起 token pasting or token concatenation 下面從兩個簡單例子著手 cpp define ssvar x,y const char x y ssvar ...
C 語言的 GCC 擴充套件
gnu 編譯器 gcc 提供了很多 c 語言擴充套件,編譯器會使用該資訊生成更高效的機器 內聯函式 static inline attribute always inline int foo void 避免內聯 attribute noinline int foo void 純函式 attribut...
Redis的擴充套件特性
訂閱頻道 redis會對你選擇的頻道進行監視,當有人在該頻道發出資訊時你會得到該資訊 subscribe channel channel.psubscribe channel 可以訂閱多個頻道,與subscribe不同的地方是訂閱的頻道能寫成帶有 這些格式 即pattern格式 例 psubscri...