亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C語言的關鍵字define的使用

時間:2024-08-03 11:23:06 C語言 我要投稿
  • 相關推薦

C語言的關鍵字define的使用

  其實在寫代碼的時候,關鍵字還是用的比較多的,這里主要就平常中用到的常用關鍵字進行總結,便于更全面的理解其在代碼中的意圖。下文主要介紹C語言的關鍵字define的相關內容。

  1 、防止一個頭文件被重復包含

  當我們的程序很大很大時,比如超過20000行時,我們很可能沒有辦法對所有的文件都有清楚的了解,特別是.h

  文件,那么我們怎么做才能避免include時重復包含呢 答案就是#define

  如下:

  a.h b.h c.h 三個文件

  a.h 內容

  int variable_a;

  b.h 內容

  #include "a.h"

  int variable_b;

  c.h內容

  #include "a.h"

  #include "b.h"

  int c;

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

  #ifndef A_H

  #define A_H

  //頭文件A

  #endif

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

  2、簡單替換

  #define MACRO_A 15

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

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

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

  可以使用宏替換來實現(xiàn)簡單的函數(shù)。

  以下是#define的高級用法

  4、高級用法

  define中的三個特殊符號:#,##,#@

  #defineConn(x,y) x##y

  #defineToChar(x) #@x

  #defineToString(x) #x

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

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

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

  (2)再來看#@x,其實就是給x加上單引號,結果返回是一個const char。舉例說:

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

  做個越界試驗char a = ToChar(123);結果就錯了;

  但是如果你的參數(shù)超過四個字符,編譯器就給給你報錯了!

  error C2015: too many characters in constant :P

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

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


【C語言的關鍵字define的使用】相關文章:

C語言中define的使用方法10-07

C語言#define的用法08-19

C語言關鍵字08-31

C語言關鍵字有哪些10-18

C語言的32個關鍵字07-06

C語言關鍵字RESTRICT介紹10-25

C語言關鍵字及其解釋06-01

C語言關鍵字const用法09-06

C語言的關鍵字知識要點11-02

c語言關鍵字大全(32個)06-24