日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言中#if,#if defined ,#ifdef,extern的用法描述

發布時間:2023/12/2 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言中#if,#if defined ,#ifdef,extern的用法描述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、#if 和#ifdef

當asd_eee表達式存在而且,值為ture的時候接續向下執行

例如

#define TARGET_LITTLE_ENDINA 1 #define TARGET_BIG_ENDINA ? 0 #ifdef TARGET_LITTLE_ENDINA call little endina function #else call big endina function #endif


上面的今天寫的代碼,發現我不管把TARGET_LITTLE_ENDINA和TARGET_BIG_ENDINA定義成0或者1,調用的都是little endina函數,一直找不到問題所在,看看代碼也沒有什么問題。經過分析和查找相關的文檔,原來是自己沒有理解#if和#ifdef之間的區別。
對于#if需要是一個表達式,如果表達式為1則調用#if下面的代碼。
對于#ifdef需要的只是這個值有沒有定義,并不關心這個值是什么。
表明之間的區別問題就變得非常的容易,只要把上述代碼中的#ifdef改成#if就可以達到目的。

2 ,#if defined

?

,#if defined 的意思是是是否對某一個表達式進行了定義

例如?

#if defined(_WIN32)|| defined(WIN32) # include #else ........

例如上面這段代碼,如果既沒有定義_WIN32也沒有定義WIN32,那么include頭文件 io.h

3 extern

1.extern用在變量聲明中常常有這樣一個作用,你在*.c文件中聲明了一個全局的變量,這個全局的變量如果要被引用,就放在*.h中并用extern來聲明。
2.如果函數的聲明中帶有關鍵字extern,僅僅是暗示這個函數可能在別的源文件里定義,沒有其它作用。即下述兩個函數聲明沒有區別:
extern int f(); 和int f();
=================================
如果定義函數的c/cpp文件在對應的頭文件中聲明了定義的函數,那么在其他c/cpp文件中要使用這些函數,只需要包含這個頭文件即可。
如果你不想包含頭文件,那么在c/cpp中聲明該函數。一般來說,聲明定義在本文件的函數不用“extern”,聲明定義在其他文件中的函數用“extern”,這樣在本文件中調用別的文件定義的函數就不用包含頭文件
include “*.h”來聲明函數,聲明后直接使用即可。
=================================
舉個例子:
//extern.cpp內容如下:

// extern.cpp : Defines the entry point for the console application.// #include "stdafx.h"extern print(char *p);int main(int argc, char* argv[]){char *p="hello world!";print(p);return 0;}//print.cpp內容如下#include "stdafx.h"#include "stdio.h"print(char *s){printf("The string is %s/n",s);}

結果程序可以正常運行,輸出結果。如果把“extern”去掉,程序依然可以正常運行。

由此可見,“extern”在函數聲明中可有可無,只是用來標志該函數在本文件中定義,還是在別的文件中定義。只要你函數在使用之前聲明了,那么就可以不用包含頭文件了。

聲明:

本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。

總結

以上是生活随笔為你收集整理的C语言中#if,#if defined ,#ifdef,extern的用法描述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。