來源: http://www.prudentman.idv.tw/2007/11/big-endianlittle-endian.html
endian指的是當物理上的最小單元比邏輯上的最小單元小時,邏輯單元對映到物理單元的排布關係。
來源: http://www.prudentman.idv.tw/2007/11/big-endianlittle-endian.html
endian指的是當物理上的最小單元比邏輯上的最小單元小時,邏輯單元對映到物理單元的排布關係。
來源: http://hi.baidu.com/speaksoftlylove/blog/item/a580b2512440fb8b8d543079.html
GNU C的一大特色(卻不被初學者所知)就是__attribute__機制。__attribute__可以設置函數屬性(Function Attribute)、變量屬性(Variable Attribute)和類型屬性(Type Attribute)。
__attribute__書寫特徵是:__attribute__前後都有兩個下劃線,並切後面會緊跟一對原括弧,括弧裡面是相應的__attribute__參數。
__attribute__語法格式為:
__attribute__ ((attribute-list))
文件中的#ifndef
頭件的中的#ifndef,這是一個很關鍵的東西。比如你有兩個C文件,這兩個C文件都include了同一個頭文件。而編譯時,這兩個C文件要一同編譯成一個可運行文件,於是問題來了,大量的聲明衝突。
還是把頭文件的內容都放在#ifndef和#endif中吧。不管你的頭文件會不會被多個文件引用,你都要加上這個。一般格式是這樣的:
#ifndef <標識>
#define <標識>
簡單的說,如果你使用了某個function,那麼你就是call了一個function。如果系統或是函式是要求你給一個function pointer,這個function pointer指到一個實際的函式(多半這個函式是你自己寫的)。然後它會在適當的時間呼叫此function,則此function就是所謂的 callback function。因為這個function是被callback了。
範例:
#include <stdio.h>
很多程式初學者比較沒有在注意一些Memory處理上的問題。其實只要平時稍微注意一下,就可以避免掉很多問題,而且也可以讓你的程式更好以及更穩定。
首先,是指標變數內容的問題。通常各位在使用指標時,可能習慣不給予初始值。其實這會造成一些問題。所以建議大家宣告指標變數時一律給予初值,若無法在宣告的同時一併配置記憶體,那麼請給予NULL作為初值。例如: