精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言最雞肋的關鍵字

學益得智能硬件 ? 來源:學益得智能硬件 ? 2023-02-09 14:49 ? 次閱讀

220ef0d8-9725-11ed-bfe3-dac502259ad0.png

C語言的關鍵字有很多,要說最不常見的,我覺得應該是auto。 說它不常見,因為很多時候,我們都把它給省略了。 比如在函數內部定義變量a,正常人都會這樣寫:

void function()
{
    int a;
}
很少有人會在前面加一個auto:
void function()
{
    auto int a;
}
其實這兩種寫法是等價的,嚴謹一點,在C語言中是等價的。 那auto關鍵字是不是雞肋般的存在? auto聲明的變量我們把它稱作自動變量,所謂自動變量,就是定義的時候自動分配內存,函數運行結束后內存自動釋放,所以你完全可以把它理解成局部變量。 它的作用跟static正好相反,static修飾的變量因為存放在靜態(tài)數據區(qū),所以即使函數調用結束了,變量也不會被釋放。
void function()
{
    static int num = 0;
    num++;
    printf("num = %d
", num);
}


int main()
{
    int i;
    for (i = 0; i < 3; i++)
    {
        function();
    }
    return 0;
}
我覺得auto存在的意義,可能就是跟static靜態(tài)變量、register寄存器變量、extern外部變量區(qū)分開。

22572844-9725-11ed-bfe3-dac502259ad0.png

auto關鍵字的使用注意事項. 第一個,全局變量不能用auto修飾,編譯會報錯。
auto int num = 0;     //錯誤


int main()
{
    return 0;
}
第二個,在C語言中,使用auto聲明的變量可以沒有類型,比如直接來個auto a,編譯器會自動把a當作整型數據。
int main()
{
    auto a;
}
編譯結果:
root@Turbo:test# gcc test.c -o test
test.c: In function ‘main’:
test.c:5:7: warning: type defaults to ‘int’ in declaration of ‘a’ [-Wimpli
cit-int]    5 |  auto a;
      |       ^
root@Turbo:test#
第三個,在C++中,auto是一個類型說明符,編譯器可以通過初始化的結果來判斷變量的類型,前提是變量一定得初始化,否則就會報錯。
int main()
{
autoa=1.1;//編譯器判斷a的類型為double


    return 0;
}

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

    關注

    180

    文章

    7598

    瀏覽量

    136207
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28329

原文標題:C語言最雞肋的關鍵字

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言關鍵字分別發(fā)生在哪個階段

    以下C語言關鍵字,分別發(fā)生在哪個階段? 第一個,define。 首先得糾正一下,define 并不是C語言里面的
    的頭像 發(fā)表于 11-24 10:31 ?80次閱讀

    C語言關鍵字--typedef

    C語言關鍵字使用方法學習指南!
    的頭像 發(fā)表于 10-07 12:44 ?175次閱讀

    使用邊緣AI和Sitara處理器進行關鍵字檢測

    電子發(fā)燒友網站提供《使用邊緣AI和Sitara處理器進行關鍵字檢測.pdf》資料免費下載
    發(fā)表于 09-02 11:30 ?0次下載
    使用邊緣AI和Sitara處理器進行<b class='flag-5'>關鍵字</b>檢測

    typedef struct和直接struct的區(qū)別

    C語言中, typedef 和 struct 是兩種不同的關鍵字,它們在定義和使用上有著明顯的區(qū)別。 typedef struct 和直接 struct 在 C
    的頭像 發(fā)表于 08-20 10:58 ?2510次閱讀

    快速掌握C語言關鍵字

    C語言中的32個關鍵字你知道多少個呢?根據關鍵字的作用分為四類:數據類型關鍵字、控制語句關鍵字、
    的頭像 發(fā)表于 07-06 08:04 ?304次閱讀
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>關鍵字</b>

    inline關鍵字被優(yōu)化導致此類函數被布局在flash內,怎么處理?

    問題解決。 但是,希望樂鑫官方把idf內源碼中的inline關鍵詞都替換為__attribute((always_inline)),因為inline關鍵字不可靠! 期待下次idf版本更新能解決此bug,自己修改idf源碼真的是權宜之計、臨時之策。
    發(fā)表于 06-21 12:03

    嵌入式中C語言結構體基本實現

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構是C語言編程中允許您存儲不同數據類型的數據。 結構體的定義 ????要想定義結構,必須用到 struct
    的頭像 發(fā)表于 05-11 08:49 ?943次閱讀
    嵌入式中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結構體基本實現

    C語言中的typedef的應用

    C 語言提供了 typedef 關鍵字,您可以使用它來為類型取一個新的名字。下面的實例為單字節(jié)數字定義了一個術語 BYTE。
    發(fā)表于 03-06 11:34 ?345次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中的typedef的應用

    嵌入式C語言面試大挑戰(zhàn)

    C++中static關鍵字除了具有C中的作用還有在類中的使用在類中,static可以用來修飾靜態(tài)數據成員和靜態(tài)成員方法靜態(tài)數據成員
    發(fā)表于 03-05 14:18 ?288次閱讀
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>語言</b>面試大挑戰(zhàn)

    簡單總結一下嵌入式C++中常見的錯誤形式

    對于 C++ 類,一些關鍵字只要寫在 .h 中就好,cpp 中就不用再加上了,比如 virtual、static 等關鍵字,如果在 cpp 中多寫,編譯器會報錯。
    的頭像 發(fā)表于 02-23 09:40 ?444次閱讀

    關鍵字搜索文件夾中某個TXT文件

    文件夾中隨時創(chuàng)造TXT文件,如何及時選出剛創(chuàng)造的文件?或關鍵字搜索出需要的TXT文件?
    發(fā)表于 02-06 15:22

    在NVM和本地\"內存中定義數組(靜態(tài) /global /local)的\"關鍵字是什么?

    在 NVM 和本地\"內存中定義數組(靜態(tài) /global /local)的\"關鍵字是什么? 還有與 32 位對齊的關鍵字怎么樣。
    發(fā)表于 01-25 07:52

    探討多線程編程中的volatile關鍵字應用

    有時候,我們可能需要在指針類型之間進行轉換,而編譯器會認為這是不安全的操作,從而導致編譯錯誤。使用volatile關鍵字可以告知編譯器,這個類型轉換是有意義的,不應該引發(fā)錯誤。
    發(fā)表于 12-27 13:53 ?420次閱讀

    你還記得這個C語言關鍵字嗎?

    當你使用volatile關鍵字時,你告訴編譯器該變量的值可能會在程序的執(zhí)行過程中被外部因素更改,因此編譯器不應該對該變量的讀寫進行優(yōu)化。下面是一些使用volatile的例子,以及對它們的一些文字描述
    的頭像 發(fā)表于 12-17 08:00 ?332次閱讀
    你還記得這個<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>關鍵字</b>嗎?

    vlookup提取關鍵字匹配多個結果

    是它能夠基于關鍵字匹配提取多個結果。 當使用VLOOKUP提取多個結果時,需要遵循以下幾個重要步驟。首先,您需要確保數據的組織和結構正確。數據應以表格格式排列,左側為關鍵字列,右側為相應的信息列。 首先,讓我們考慮一個實際的例子。假設您有一個大型數據集
    的頭像 發(fā)表于 12-01 10:40 ?2346次閱讀