日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式大雜燴
[導(dǎo)讀]點擊上方「嵌入式大雜燴」,選擇「置頂公眾號」第一時間查看嵌入式筆記!來源:TopSemic嵌入式有個小伙伴在我們的嵌入式交流群里發(fā)了類似下面的一張圖,頓時引起一陣騷動,我把源代碼再附上,main.c如下:#include?#include?static?char?city_nam...

點擊上方「嵌入式大雜燴」,選擇「置頂公眾號」第一時間查看嵌入式筆記!

來源:TopSemic嵌入式

有個小伙伴在我們的嵌入式交流群里發(fā)了類似下面的一張圖,

頓時引起一陣騷動,我把源代碼再附上,main.c 如下:

#include?
#include?

static?char?city_name[][20]?=?{?
?#include?"city.h"?
?};
?
int?main(void)?{
????????printf("%s",?city_name[0]);
}
city.h 如下:

"北京",
"上海",
"廣州"
這段代碼風(fēng)騷的地方是在C語言里的數(shù)組里使用了一個#include的操作,我長這么大也是第一次見。

不過有個小伙伴表示不服,他立刻在自己的電腦上編譯了一把,尷尬的是沒有編譯通過


他也把自己的代碼貼上來了

問題出在什么地方呢?看到這里,你可以暫停10秒鐘,想一下原因。

后來該同學(xué)自己找到了問題,


問題在于#include “city.h”必須單獨起一行。

那么問題又來了,為什么#include 必須要單獨起一行?為此我把落了一層灰的《C和指針》書拿出來翻了一遍,楞是沒找到說明。

最后在谷歌上找到一個人的回答:


#必須是一行中的首個非空格字符,也就是說#前面可以有空格,但是不能有其他字符。

這個問題先這么告一段落吧。

后來群里的會長同學(xué)又提出了疑問,

他覺得這個city.h寫的不符合C規(guī)則,剛一看好像是這么回事,一般的頭文件也沒有這么寫的,不過事實上沒人規(guī)定頭文件應(yīng)該怎么寫,只要包含后的c文件符合語法規(guī)則就可以。另外#include 包含的文件也不一定是后綴為.h的文件,什么后綴格式的文件都可以。

用上述方法也有好處,方便更新數(shù)組內(nèi)容,直觀。

此外如果用gcc編譯的話,gcc 使用-E 參數(shù)可以幫你展開宏定義和頭文件。

最后會長同學(xué)感慨了一句:畢業(yè)找工作,精通c語言;兩年后、掌握c語言;五年后,了解c語言。

我找了一下2013年自己找工作的簡歷:

他說的沒錯,我第一條寫的就是精通C語言編程...。

全文完。

歡迎關(guān)注我們,與大家一起成長!


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉