<optgroup id="r9hwm"></optgroup><nav id="r9hwm"><label id="r9hwm"></label></nav>

    <tt id="r9hwm"><tr id="r9hwm"></tr></tt>
  1. 
    
  2. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

  3. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

        1. <listing id="r9hwm"></listing>
          <delect id="r9hwm"></delect>
          <optgroup id="r9hwm"><samp id="r9hwm"><ol id="r9hwm"></ol></samp></optgroup>

          宏定義語句

          宏定義多條語句

          宏定義多條語句可以用如下的形式進行定義: #define swap(a,b) { a = a + b; b = a - b; a = a - b; }// 如果分行寫,可以寫成如下形式#define swap(a,b) { a = a + b;\b = a - b;\a = a - b;} 宏定義一般分為帶參宏定義和不帶參宏定義。

          帶參宏定義,也即帶參數的宏定義,如: #define MAX(a,b) ((a)>(b) ? (a) : (b)) // 求最大值不帶參宏定義,也即不帶參數的宏定義,如: #define PI 3.14159 // 定義圓周率pi的值。

          宏定義多條語句

          宏定義多條語句可以用如下的形式進行定義:

          #define swap(a,b) { a = a + b; b = a - b; a = a - b; }

          // 如果分行寫,可以寫成如下形式

          #define swap(a,b) { a = a + b;\

          b = a - b;\

          a = a - b;}

          宏定義一般分為帶參宏定義和不帶參宏定義。

          帶參宏定義,也即帶參數的宏定義,如:

          #define MAX(a,b) ((a)>(b) ? (a) : (b)) // 求最大值不帶參宏定義,也即不帶參數的宏定義,如:

          #define PI 3.14159 // 定義圓周率pi的值

          一個C語言的宏定義語句

          #define WRITE(DATATYPE,DATA) do{*(DATATYPE*)(save_offset)=DATA;save_offset +=sizeof(DATATYPE);}while(0)

          我建議宏這樣寫比較好,可以避免很多麻煩。

          save_offset 是unsigned int型。意思是存放指針地址數據的地方,不是指針類型,是你所說的普通變量,0-65535之間(我取的是2個字節所以是2的16次方 - 1,但不一定是這個數,根據編譯器不同而不同)。

          DATATYPE 是變量類型 譬如 int ,char型。

          (DATATYPE*)(save_offset) 強制轉換為DATATYPE類型指針;*(DATATYPE*)(save_offset)意思是在0x0000地址寫入DATA。

          save_offset +=sizeof(DATATYPE) 這句話意思是 save_offset取下一個地址。

          這個宏定義的主要功能是 在0x0000開頭的內存中寫入DATATYPE數據。

          例如:

          WRITE(char,128);

          宏展開之后是:

          do{*(char*)(save_offset)=128;save_offset +=sizeof(char);}while(0)

          執行過后

          在內存地址為0x0000處寫入數據128占據sizeof(char)個字節,并在0x0000 + sizeof(char)處等待下一個數據的寫入。

          大概就是這個意思。

          單片機c語言宏定義有幾種

          宏定義 宏定義是C提供的三種預處理功能的其中一種,這三種預處理包括:宏定義、文件包含、條件編譯 編輯本段1.不帶參數的宏定義: 宏定義又稱為宏代換、宏替換,簡稱“宏”。

          格式: #define 標識符 字符串 其中的標識符就是所謂的符號常量,也稱為“宏名”。 預處理(預編譯)工作也叫做宏展開:將宏名替換為字符串。

          掌握"宏"概念的關鍵是“換”。一切以換為前提、做任何事情之前先要換,準確理解之前就要“換”。

          即在對相關命令或語句的含義和功能作具體分析之前就要換: 例: #define PI 3.1415926 把程序中出現的PI全部換成3.1415926 說明: (1)宏名一般用大寫 (2)使用宏可提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤和便于修改。例如:數組大小常用宏定義 (3)預處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預處理不做語法檢查。

          (4)宏定義末尾不加分號; (5)宏定義寫在函數的花括號外邊,作用域為其后的程序,通常在文件的最開頭。 (6)可以用#undef命令終止宏定義的作用域 (7)宏定義可以嵌套 (8)字符串" "中永遠不包含宏 (9)宏定義不分配內存,變量定義分配內存。

          編輯本段2.帶參數的宏定義: 除了一般的字符串替換,還要做參數代換 格式: #define 宏名(參數表) 字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被換為area=a*b; ,第二步被換為area=3*2; 類似于函數調用,有一個啞實結合的過程: (1)實參如果是表達式容易出問題 #define S(r) r*r area=S(a+b);第一步換為area=r*r;,第二步被換為area=a+b*a+b; 正確的宏定義是#define S(r) ((r)*(r)) (2)宏名和參數的括號間不能有空格 (3)宏替換只作替換,不做計算,不做表達式求解 (4)函數調用在編譯后程序運行時進行,并且分配內存。宏替換在編譯前進行,不分配內存 (5)宏的啞實結合不存在類型,也沒有類型轉換。

          (6)函數只有一個返回值,利用宏則可以設法得到多個值 (7)宏展開使源程序變長,函數調用不會 (8)宏展開不占運行時間,只占編譯時間,函數調用占運行時間(分配內存、保留現場、值傳遞、返回值C語言宏定義技巧(常用宏定義) 寫好C語言,漂亮的宏定義很重要,使用宏定義可以防止出錯,提高可移植性,可讀性,方便性 等等。下面列舉一些成熟軟件中常用得宏定義:1,防止一個頭文件被重復包含 #ifndef COMDEF_H #define COMDEF_H //頭文件內容 #endif 2,重新定義一些類型,防止由于各種平臺和編譯器的不同,而產生的類型字節數差異,方便移植。

          typedef unsigned char boolean; /* Boolean value type. */ typedef unsigned long int uint32; /* Unsigned 32 bit value */ typedef unsigned short uint16; /* Unsigned 16 bit value */ typedef unsigned char uint8; /* Unsigned 8 bit value */ typedef signed long int int32; /* Signed 32 bit value */ typedef signed short int16; /* Signed 16 bit value */ typedef signed char int8; /* Signed 8 bit value */ 3,得到指定地址上的一個字節或字 #define MEM_B( x ) ( *( (byte *) (x) ) ) #define MEM_W( x ) ( *( (word *) (x) ) ) 4,求最大值和最小值 #define MAX( x, y ) ( ((x) > (y)) ? (x) : (y) ) #define MIN( x, y ) ( ((x) < (y)) ? (x) : (y) ) 5,得到一個field在結構體(struct)中的偏移量 #define FPOS( type, field ) \ /*lint -e545 */ ( (dword) &(( type *) 0)-> field ) /*lint +e545 */ 6,得到一個結構體中field所占用的字節數 #define FSIZ( type, field ) sizeof( ((type *) 0)->field ) 7,按照LSB格式把兩個字節轉化為一個Word #define FLIPW( ray ) ( (((word) (ray)[0]) * 256) + (ray)[1] ) 8,按照LSB格式把一個Word轉化為兩個字節 #define FLOPW( ray, val ) \ (ray)[0] = ((val) / 256); \ (ray)[1] = ((val) & 0xFF) 9,得到一個變量的地址(word寬度) #define B_PTR( var ) ( (byte *) (void *) &(var) ) #define W_PTR( var ) ( (word *) (void *) &(var) ) 10,得到一個字的高位和低位字節 #define WORD_LO(xxx) ((byte) ((word)(xxx) & 255)) #define WORD_HI(xxx) ((byte) ((word)(xxx) >> 8)) 11,返回一個比X大的最接近的8的倍數 #define RND8( x ) ((((x) + 7) / 8 ) * 8 ) 12,將一個字母轉換為大寫 #define UPCASE( c ) ( ((c) >= 'a' && (c) <= 'z') ? ((c) - 0x20) : (c) ) 13,判斷字符是不是10進值的數字 #define DECCHK( c ) ((c) >= '0' && (c) <= '9') 14,判斷字符是不是16進值的數字 #define HEXCHK( c ) ( ((c) >= '0' && (c) <= '9') ||\ ((c) >= 'A' && (c) <= 'F') ||\ ((c) >= 'a' && (c) <= 'f') ) 15,防止溢出的一個方法 #define INC_SAT( val ) (val = ((val)+1 > (val)) ? (val)+1 : (val)) 16,返回數組元素的個數 #define ARR_SIZE( a ) ( sizeof( (a) ) / sizeof( (a[0]) ) ) 17,返回一個。

          轉載請注明出處華閱文章網 » 宏定義語句

          短句

          深奧的語句

          閱讀(257)

          求:經典而又深奧的語句. 1. 人之所以痛苦,在于追求錯誤的東西。 2. 如果你不給自己煩惱,別人也永遠不可能給你煩惱。因為你自己的內心,你放不下。 3. 你永遠要感謝給你逆境的眾生。 4. 你永遠要寬恕眾生,不論他有多壞,甚至他傷害過你,你一定要

          短句

          誠信語句

          閱讀(257)

          關于誠信的句子 不要說謊,不要害怕真理。 ——(俄)列夫.托爾斯泰 坦白是誠實和勇敢的產物。 ——(美)馬克.吐溫1.人而無信,不知其可也——孔子 言無常信,行無常貞,惟利所在,無所不

          短句

          悲慘語句

          閱讀(241)

          描寫凄慘的句子 1:你離去時,愛終于成傷,凄涼的笙歌,憂愁穿了三生石上清淺的青苔。2:悲哉秋之為氣也!蕭瑟兮草木搖落而變衰,憭栗兮若在遠行,登山臨水兮送將歸蕭瑟:寂寞蕭條的樣子。燎栗:凄涼。若在遠行:好象人在遠行之中。戰國楚·宋玉《九辯》3:雪

          短句

          女裝的語句

          閱讀(260)

          描寫女裝的句子 【淡藍色素衣裹身,外披白色紗衣,露出線條優美的頸項和清晰可見的鎖骨,裙幅褶褶如雪月光華流動輕瀉于地,挽迤三尺有余,使得步態愈加雍容柔美,三千青絲散開,頭插蝴

          短句

          愛情短語句

          閱讀(215)

          求押韻的描寫愛情的短句、清詞、宋詞、詩句.先舉個例子吧1.愁斷腸千我暗戀一個女生,經常在我所在的班級眺望她,所以寫下過這樣一條微博:校服,裙擺,我看不見你的留海.走廊,窗臺,你步蓮依舊不改.可曾知道,你是我旋律的主宰?這一首是寫霸王別姬的:腸

          短句

          動力語句

          閱讀(255)

          有關“動力”的句子有哪些1. 人的潛能是無限的,只要有動力,什么事都能干成。2. 一個人努不努力,取決于有沒有動力讓他去努力。3. 壓力就是動力 ,面對困難就退縮,永遠也成為不了真正的強者。4. 亢奮絕對是做一件事最初的原動力。5. 壓力就是

          短句

          sql語句按時間排序

          閱讀(295)

          SQL語句怎么寫 select client,ID,taskdate from 表名 order BY client asc,taskdate,ID desc(如果讓client為降序的話order by改成group by,asc改成desc,ID要升序desc改成as

          短句

          關懷的語句

          閱讀(238)

          【處處關心別人的句子】 關于關愛他人的句子: 得到他人的關愛是一種幸福,關愛他人更是一種幸福. 金錢不是萬能的,關愛需要的是社會的共同關注. 關愛,就是關心愛護,它在我們身邊無處不在.我們每個人都需要關愛,生活上也少不了關愛,別人給予我們

          短句

          口才語句

          閱讀(288)

          訓練口才的有哪些經典句子呢口才并不是一種天賦的才能,它是靠刻苦訓練得來的。古今中外歷史上一切口若懸河、能言善辯的演講家、雄辯家。他們無一不是靠刻苦訓練而獲得成功的。 這些名人與偉人為我們訓練口才樹立了光榮的榜樣,我們要想練

          短句

          英語句法分析

          閱讀(345)

          英語語法分析, there is not one here 主謂部分who has not in the course of the day had occasion to set in motion a complex train of reasoning,of the very same ki

          短句

          粽子語句

          閱讀(275)

          述說端午節粽子的句子有哪些 堂映湖山,解粽共酬佳節意謂敞亮的房間映入湖山秀麗的景色,品嘗美味的粽子共度佳節。語出明?吳子孝《錦纏 道?端午》。 淡淡粽葉香,濃濃世間情意

          短句

          投資語句

          閱讀(312)

          投資理財經典句子有哪些 1、關鍵不是你能夠掙到多少錢,而是你能留下多少錢,你能讓錢怎樣努力地為你工作,這就是理財。 2、理財規劃不是有錢人的專屬權利。 3、你不理財,財不理

          短句

          田園語句

          閱讀(245)

          描寫田野的優美句子 初冬里,山野的綠色也尚末褪盡,還有一星半點的草梢還沒被染黃. 低處的田野里,稻谷熟了,金黃金黃的好像是誰在地里鋪上一層厚厚的金子.秋波搖晃著稻谷,使沉甸甸的稻穗有節奏地波動著,好像金山在滑坡.風聲稻浪,如似一曲動人的

          短句

          寫春的語句

          閱讀(276)

          【寫一個描寫春天的句子,而不出現“春”字】 寫一個描寫春天的句子,而不出現“春”字寫一個描寫春天的句子,而不出現“春”字寫一個描寫春天的句子,而不出現“春”字寫一個描寫春天的句子,而不出現“春”字寫一個描寫春天的句子,而不出現“

          短句

          深奧的語句

          閱讀(257)

          求:經典而又深奧的語句. 1. 人之所以痛苦,在于追求錯誤的東西。 2. 如果你不給自己煩惱,別人也永遠不可能給你煩惱。因為你自己的內心,你放不下。 3. 你永遠要感謝給你逆境的眾生。 4. 你永遠要寬恕眾生,不論他有多壞,甚至他傷害過你,你一定要

          短句

          誠信語句

          閱讀(257)

          關于誠信的句子 不要說謊,不要害怕真理。 ——(俄)列夫.托爾斯泰 坦白是誠實和勇敢的產物。 ——(美)馬克.吐溫1.人而無信,不知其可也——孔子 言無常信,行無常貞,惟利所在,無所不

          短句

          悲慘語句

          閱讀(241)

          描寫凄慘的句子 1:你離去時,愛終于成傷,凄涼的笙歌,憂愁穿了三生石上清淺的青苔。2:悲哉秋之為氣也!蕭瑟兮草木搖落而變衰,憭栗兮若在遠行,登山臨水兮送將歸蕭瑟:寂寞蕭條的樣子。燎栗:凄涼。若在遠行:好象人在遠行之中。戰國楚·宋玉《九辯》3:雪

          短句

          愛情短語句

          閱讀(215)

          求押韻的描寫愛情的短句、清詞、宋詞、詩句.先舉個例子吧1.愁斷腸千我暗戀一個女生,經常在我所在的班級眺望她,所以寫下過這樣一條微博:校服,裙擺,我看不見你的留海.走廊,窗臺,你步蓮依舊不改.可曾知道,你是我旋律的主宰?這一首是寫霸王別姬的:腸

          短句

          女裝的語句

          閱讀(260)

          描寫女裝的句子 【淡藍色素衣裹身,外披白色紗衣,露出線條優美的頸項和清晰可見的鎖骨,裙幅褶褶如雪月光華流動輕瀉于地,挽迤三尺有余,使得步態愈加雍容柔美,三千青絲散開,頭插蝴

          短句

          sql語句按時間排序

          閱讀(295)

          SQL語句怎么寫 select client,ID,taskdate from 表名 order BY client asc,taskdate,ID desc(如果讓client為降序的話order by改成group by,asc改成desc,ID要升序desc改成as

          短句

          動力語句

          閱讀(255)

          有關“動力”的句子有哪些1. 人的潛能是無限的,只要有動力,什么事都能干成。2. 一個人努不努力,取決于有沒有動力讓他去努力。3. 壓力就是動力 ,面對困難就退縮,永遠也成為不了真正的強者。4. 亢奮絕對是做一件事最初的原動力。5. 壓力就是

          短句

          投資的語句

          閱讀(265)

          投資理財經典句子有哪些 1、關鍵不是你能夠掙到多少錢,而是你能留下多少錢,你能讓錢怎樣努力地為你工作,這就是理財。 2、理財規劃不是有錢人的專屬權利。 3、你不理財,財不理

          <optgroup id="r9hwm"></optgroup><nav id="r9hwm"><label id="r9hwm"></label></nav>

            <tt id="r9hwm"><tr id="r9hwm"></tr></tt>
          1. 
            
          2. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

          3. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

                1. <listing id="r9hwm"></listing>
                  <delect id="r9hwm"></delect>
                  <optgroup id="r9hwm"><samp id="r9hwm"><ol id="r9hwm"></ol></samp></optgroup>
                  亚洲丰满少妇xxxxx高潮