欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語(yǔ)言

C語(yǔ)言中define的使用方法

時(shí)間:2025-02-26 13:14:09 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言中define的使用方法

  其實(shí)在寫(xiě)代碼的時(shí)候,關(guān)鍵字還是用的比較多的,這里主要就平常中用到的常用關(guān)鍵字進(jìn)行總結(jié),便于更全面的理解其在代碼中的意圖。下文主要介紹C語(yǔ)言的關(guān)鍵字define的相關(guān)內(nèi)容。

  1 、防止一個(gè)頭文件被重復(fù)包含

  當(dāng)我們的程序很大很大時(shí),比如超過(guò)20000行時(shí),我們很可能沒(méi)有辦法對(duì)所有的文件都有清楚的了解,特別是.h的文件,那么我們?cè)趺醋霾拍鼙苊鈏nclude時(shí)重復(fù)包含呢 答案就是#define

  如下:

  a.h b.h c.h 三個(gè)文件

  a.h 內(nèi)容

  int variable_a;

  b.h 內(nèi)容

  #include "a.h"

  int variable_b;

  c.h內(nèi)容

  #include "a.h"

  #include "b.h"

  int c;

  那么c.h就包含了兩次a.h,那如何避免呢

  #ifndef A_H

  #define A_H

  //頭文件A

  #endif

  這樣就可以保證a.h只會(huì)被包含一次

  2、簡(jiǎn)單替換

  #define MACRO_A 15

  后面出現(xiàn)的MACRO_A 都會(huì)被替換為15這個(gè)數(shù)

  3、帶參數(shù)的替換

  #define ABS( a ) ( ((a)>0) ? (a) : (-(a)) )

  可以使用宏替換來(lái)實(shí)現(xiàn)簡(jiǎn)單的函數(shù)。

  以下是#define的高級(jí)用法

  4、高級(jí)用法

  define中的三個(gè)特殊符號(hào):#,##,#@

  #defineConn(x,y) x##y

  #defineToChar(x) #@x

  #defineToString(x) #x

  (1)x##y表示什么?表示x連接y,舉例說(shuō):

  intn=Conn(123,456);/* 結(jié)果就是n=123456;*/

  char*str=Conn("asdf","adf");/*結(jié)果就是 str = "asdfadf";*/

  (2)再來(lái)看#@x,其實(shí)就是給x加上單引號(hào),結(jié)果返回是一個(gè)const char。舉例說(shuō):

  char a = ToChar(1);結(jié)果就是a='1';

  做個(gè)越界試驗(yàn)char a = ToChar(123);結(jié)果就錯(cuò)了;

  但是如果你的參數(shù)超過(guò)四個(gè)字符,編譯器就給給你報(bào)錯(cuò)了!

  error C2015: too many characters in constant :P

  (3)最后看看#x,估計(jì)你也明白了,他是給x加雙引號(hào)

  char* str = ToString(123132);就成了str="123132";

【C語(yǔ)言中define的使用方法】相關(guān)文章:

C語(yǔ)言中define的全部使用方法介紹10-15

C語(yǔ)言中volatile的使用方法09-30

C語(yǔ)言#define的用法08-19

c語(yǔ)言中指針的使用方法10-12

C語(yǔ)言中const關(guān)鍵字的使用方法10-02

C語(yǔ)言的關(guān)鍵字define的使用08-03

C語(yǔ)言中的整數(shù)06-16

C語(yǔ)言中的字符07-18

C語(yǔ)言宏定義#define的理解與資料梳理08-29