1.宣告乙個常數用以表示1年中有多少秒(忽略閏年問題)
#define seconds_per_year (60*60*24*365)ul
2.返回兩個數的較大數(不能使用大於、小於、if語句)
#define max(a, b) ((abs((a)-(b)))==((a)-(b))?(a):(b))
3.返回兩個數的較小數
#define min(a, b) ((a)<(b)?(a):(b))
4.在巨集中把引數解釋為字串
#define trace(s) printf("%s\n", #s)
5.不使用sizeof求int占用的位元組數
#define my_sizeof(value) ((char *)(&value+1)-(char *)&value)
6.用sizeof求陣列中元素的個數
#define count(array) (sizeof(array)/sizeof(array[0]))
7.求乙個結構體a裡某個變數相對a的偏移量
#define find(struct_, member) (unsigned int)&(((struct_ *)0)->member)
JS原生的一些寫法
今天在寫頁面的時候,因為不想使用jquery了,所以想用原生js寫一下,發現原生的js都差不多忘記了,所以來補習一下 slice 如果接收的是負數,會將它字串的長度與對應的負數相加,接收的是起始位置和結束位置 不包括結束位置 substring 以兩個引數中較小乙個作為起始位置,較大的引數作為結束位...
關於巨集的一些說明
巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預編譯 工作也叫做巨集展開 將巨集名替換為字串。掌握 巨集 概念的關鍵是 替換 一切以替換為前提。預處理器是先於編譯器執行的 例 define pi 3.14 ...
關於platform driver的一些巨集知識
我在寫platform驅動的時候參考了一些linux已有的platform driver 發現了一些我不知道的知識點在這裡和大家分享一下。一 巨集module platform driver 在platform device.h 中定義 我們繼續追蹤 module driver,在device.h中...