色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于C語言的一些特殊功能介紹

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:strongerHuang ? 2020-08-18 15:31 ? 次閱讀

C語言已經(jīng)連續(xù)幾個(gè)月占領(lǐng) TIOBE 編程語言排行榜首,成為最受歡迎的編程語言了。

C語言之所以那么受歡迎,除了C語言歷史悠久之外,還有它具有一些編程語言沒有的功能。那么,今年我們就來了解一下C語言的一些特殊功能。
一、ANSI C特殊標(biāo)準(zhǔn)定義 羅列一些常見的特殊定義:

__FILE__:正在編譯文件的路徑及文件名

__LINE__:正在編譯文件的行號(hào)

__DATE__:編譯時(shí)刻的日期字符串 如“July 19 2019”

__TIME__:編譯時(shí)刻的時(shí)間字符串 如”2200“

代碼:

char BuildFile[] = __FILE__;int  BuildLine = __LINE__;char BuildDate[] = __DATE__;char BuildTime[] = __TIME__;
printf("編譯文件路徑:%s
", BuildFile);printf("編譯代碼所在行:%d
", TestLine);printf("編譯日期:%s
", BuildDate);printf("編譯時(shí)間:%s
", BuildTime);

提示:__LINE__是整型數(shù)據(jù); 其實(shí)除了這些還有很多相關(guān)的定義,比如: 1.__FUNCTION__:函數(shù)名,類型為:字符常量指針。

char const* BuildFunName = __FUNCTION__;printf("函數(shù)名稱為:%s
", BuildFunName);
2.__VER__:IDE版本信息,類型為:整型。 如我用的IAR版本為:7.80.04,如下圖:

代碼:
int  IDEVersion = __VER__;printf("IDE版本:%d
", IDEVersion);

輸出:

IDE版本:7080004

二、可變參數(shù)

我們?cè)趯W(xué)習(xí)C語言的時(shí)候,都知道printf是可變參數(shù)的函數(shù):

char a = 1;char b = 2;char c = 3;printf("a = %d
", a);printf("a = %d; b = %d
", a, b);printf("a = %d; b = %d; c = %d
", a, b, c);

上面就是可變參數(shù)printf的例子,也就是說參數(shù)可以一個(gè)也可以多個(gè)。

而接下來說的__VA_ARGS__,就是一個(gè)可變參數(shù)宏,與printf中可變參數(shù)的宏定義一個(gè)道理,是新C99規(guī)范中增加的。

1.關(guān)于__VA_ARGS__

__VA_ARGS__它是一個(gè)可變參數(shù)的宏,就是將左邊宏中“...” 的內(nèi)容原樣抄寫在右邊 __VA_ARGS__ 所在的位置。

要注意的是,printf 的輸出格式是括號(hào)內(nèi)左邊是字符串,右邊是變量,而且右變量與左輸出格式是一一對(duì)應(yīng)的,不對(duì)應(yīng)就會(huì)出錯(cuò)??梢詤⒖聪旅婺莻€(gè)例子, __VA_ARGS__其實(shí)是遵循了printf的格式。

...缺省號(hào)代表一個(gè)可以變化的參數(shù)表。使用保留名 __VA_ARGS__ 把參數(shù)傳遞給宏。當(dāng)宏的調(diào)用展開時(shí),實(shí)際的參數(shù)就傳遞給 printf()了。

2.實(shí)例說明

#define SENSOR_Printf(...) printf("--SENSOR--"__VA_ARGS__)int TemperatureVal = 25;SENSOR_Printf("溫度 = %d℃

", TemperatureVal);

輸出結(jié)果:

--SENSOR--溫度 = 25℃

用心的朋友可能會(huì)猜測(cè)的到:“...”類似等于“__VA_ARGS__”。

從例子中我們可以看得出來,__VA_ARGS__的用途,主要是用于可變參數(shù)的函數(shù)。我們使用較多的printf就是最常見的一個(gè)。

如果我們的工程很龐大,我們就可以將打印信息分類,這樣的好處就是方便我們識(shí)別各類打印信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136696
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1942

    瀏覽量

    34707

原文標(biāo)題:C語言中幾種特殊標(biāo)準(zhǔn)定義和用法

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語言環(huán)境下訪問特殊功能寄存器sfr的經(jīng)驗(yàn)

    單片機(jī)的特殊功能寄存器SFR,是SRAM地址已經(jīng)確定的SRAM單元,在C語言環(huán)境下對(duì)其訪問歸納起來有兩種方法
    的頭像 發(fā)表于 11-10 09:46 ?9388次閱讀
    在<b class='flag-5'>C</b><b class='flag-5'>語言</b>環(huán)境下訪問<b class='flag-5'>特殊功能</b>寄存器sfr的經(jīng)驗(yàn)

    單片機(jī)的一些特殊功能寄存器定義

    #include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器typedef unsigned int u16; //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義typedef
    發(fā)表于 12-02 08:11

    單片機(jī)的一些特殊功能寄存器

    #include “reg51.h” //此文件中定義了單片機(jī)的一些特殊功能寄存器#include “intrins.h”typedef unsigned int u16; //對(duì)數(shù)據(jù)類型進(jìn)行聲明
    發(fā)表于 12-07 13:22

    單片機(jī)的一些特殊功能寄存器定義

    #include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器#include //因?yàn)橐玫阶笥乙坪瘮?shù),所以加入這個(gè)頭文件#define led P2//將
    發(fā)表于 01-06 07:49

    電源管理特殊功能寄存器PCON介紹

    電源管理特殊功能寄存器 PCON介紹:CMOS 型的MCS-51單片機(jī) 具有空閑和掉電兩種低功耗方式,其中空閑狀態(tài)也稱作cpu睡眠狀態(tài)PCON 字節(jié)地址是0x87有6個(gè)功能位:SMOD X X X
    發(fā)表于 01-25 06:45

    GD32F310開發(fā)板串口的一些特殊功能介紹

    串口主要用于通信和調(diào)試信息輸出,今天仔細(xì)觀察GDF310的數(shù)據(jù)手冊(cè)發(fā)現(xiàn)一些特殊功能:1、自動(dòng)波特率檢測(cè);2、數(shù)據(jù)發(fā)送/接受,高位在前/后;3、數(shù)據(jù)位反轉(zhuǎn);4、TX/RX管腳交換。針對(duì)以上的5個(gè)特殊
    發(fā)表于 09-22 15:40

    CH582如果打印一些特殊功能按鍵應(yīng)該怎么修改呢?

    使用CH582開發(fā)板燒錄HostU2Enum代碼后,USB2插入鍵盤,使用串口打印鍵值,音量加減等一些特殊功能按鍵沒有打印出,請(qǐng)問官方如果打印這些特殊功能按鍵應(yīng)該具體怎么修改呢?
    發(fā)表于 10-09 07:19

    USB鍵盤特殊功能鍵的實(shí)現(xiàn)

    USB鍵盤特殊功能鍵的實(shí)現(xiàn) 本文較為詳盡地介紹了在USB多媒體鍵盤系統(tǒng)中,特殊功能鍵的實(shí)現(xiàn)方法。關(guān)鍵詞: 通用串行總線;系統(tǒng)特殊功
    發(fā)表于 09-26 17:53 ?2395次閱讀
    USB鍵盤<b class='flag-5'>特殊功能</b>鍵的實(shí)現(xiàn)

    數(shù)碼相機(jī)特殊功能

    數(shù)碼相機(jī)特殊功能              特殊功能個(gè)很抽象的概念,對(duì)于每臺(tái)數(shù)碼相機(jī),如果沒有一兩個(gè)亮點(diǎn),難以吸
    發(fā)表于 12-18 15:02 ?399次閱讀

    佳能數(shù)碼相機(jī)特殊功能

    佳能數(shù)碼相機(jī)特殊功能              能令佳能引以為豪的“特殊功能”應(yīng)該是他的DiGIC技術(shù)和iSPA技術(shù)。
    發(fā)表于 12-18 15:10 ?355次閱讀

    什么是手機(jī)特殊功能

    什么是手機(jī)特殊功能         
    發(fā)表于 12-19 15:07 ?871次閱讀

    C51單片機(jī)特殊功能寄存器的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C51單片機(jī)特殊功能寄存器的詳細(xì)資料說明。
    發(fā)表于 04-12 18:27 ?4次下載
    <b class='flag-5'>C</b>51單片機(jī)<b class='flag-5'>特殊功能</b>寄存器的詳細(xì)資料說明

    邏輯電平之間的特殊功能互連

    本篇主要介紹邏輯互連中的一些具有特殊功能的互連。這些特殊功能包括總線保持、串聯(lián)阻尼電阻、熱插拔等。
    發(fā)表于 01-07 16:30 ?22次下載
    邏輯電平之間的<b class='flag-5'>特殊功能</b>互連

    【硬見小百科】單片機(jī)的特殊功能寄存器

    在單片機(jī)中有一些獨(dú)立的存儲(chǔ)單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。<特殊功能寄存器地址映象表()><特殊功能
    發(fā)表于 12-20 19:15 ?14次下載
    【硬見小百科】單片機(jī)的<b class='flag-5'>特殊功能</b>寄存器

    C語言和STM32學(xué)習(xí)的一些學(xué)習(xí)筆記

    自己總結(jié)的一些C語言和STM32F1學(xué)習(xí)的一些筆記,適合想快速了解學(xué)習(xí)C語言和STM32單片機(jī)的
    發(fā)表于 03-24 14:53 ?36次下載
    主站蜘蛛池模板: 国内精品蜜汁乔依琳视频| 欧美 亚洲 中文字幕 高清| 日夜啪啪一区二区三区| 在线观看中文字幕码2021不用下载 | 国产AV一区二区三区日韩| 老板揉搓秘书丰满大乳| 亚洲成av人影院| 高跟丝袜岳第一次| 免费一级片网站| 月夜直播免费观看全集| 国产一区二区三区在线看片| 日日夜夜国产| 爱穿丝袜的麻麻3d漫画acg| 伦理片飘花免费影院| 夜夜躁婷婷AV蜜桃视频| 国产午夜精品一区二区三区| 乳女教师欲乱动漫无修版动画| 99在线精品免费视频| 久色视频网| 影音先锋av色咪影院| 狠狠色香婷婷久久亚洲精品| 香艳69xxxxx有声小说| 多男同时插一个女人8p| 秋霞鲁丝片Av无码| 99re久久热免费视频| 快穿之诱受双性被灌满h| 一个人免费视频在线观看高清版| 国模玲玲自拍337p| 香蕉59tv视频| 国产精品人成在线播放新网站| 日韩在线 无码 精品| xxx日本黄色| 欧美做真爱欧免费看| a级毛片黄免费a级毛片| 欧美16一17sex性hd| 99久久免热在线观看| 免费网站在线观看国产v片| 18未满不能进的福利社| 两个人的视频免费| 69国产精品成人无码视频| 蜜桃色欲AV久久无码精品|