<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言中define的使用方法

    時間:2025-02-26 13:14:09 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

      后面出現的MACRO_A 都會被替換為15這個數

      3、帶參數的替換

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

      可以使用宏替換來實現簡單的函數。

      以下是#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);結果就錯了;

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

      error C2015: too many characters in constant :P

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

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

    【C語言中define的使用方法】相關文章:

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

    C語言中volatile的使用方法09-30

    C語言#define的用法08-19

    c語言中指針的使用方法10-12

    C語言中const關鍵字的使用方法10-02

    C語言的關鍵字define的使用08-03

    C語言中的整數06-16

    C語言中的字符07-18

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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人