
C語言的關鍵字有很多,要說最不常見的,我覺得應該是auto。 說它不常見,因為很多時候,我們都把它給省略了。 比如在函數(shù)內(nèi)部定義變量a,正常人都會這樣寫:
void function() { int a; }很少有人會在前面加一個auto:
void function()
{
auto int a;
}
其實這兩種寫法是等價的,嚴謹一點,在C語言中是等價的。 那auto關鍵字是不是雞肋般的存在? auto聲明的變量我們把它稱作自動變量,所謂自動變量,就是定義的時候自動分配內(nèi)存,函數(shù)運行結(jié)束后內(nèi)存自動釋放,所以你完全可以把它理解成局部變量。 它的作用跟static正好相反,static修飾的變量因為存放在靜態(tài)數(shù)據(jù)區(qū),所以即使函數(shù)調(diào)用結(jié)束了,變量也不會被釋放。
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ū)分開。

auto int num = 0; //錯誤
int main()
{
return 0;
}
第二個,在C語言中,使用auto聲明的變量可以沒有類型,比如直接來個auto a,編譯器會自動把a當作整型數(shù)據(jù)。
int main()
{
auto a;
}
編譯結(jié)果:
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(chǎn)’ [-Wimpli
cit-int] 5 | auto a;
| ^
root@Turbo:test#
第三個,在C++中,auto是一個類型說明符,編譯器可以通過初始化的結(jié)果來判斷變量的類型,前提是變量一定得初始化,否則就會報錯。
int main()
{
autoa=1.1;//編譯器判斷a的類型為double
return 0;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
C語言
+關注
關注
183文章
7643瀏覽量
145237 -
變量
+關注
關注
0文章
615瀏覽量
29450
原文標題:C語言最雞肋的關鍵字
文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
關鍵字volatile的含意
關鍵字volatile有什么含意?
一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優(yōu)化器在用到這個變量時必須每次都小心
發(fā)表于 12-23 06:33
interrupt關鍵字使用
中斷是嵌入式系統(tǒng)中重要的組成部分,這導致了很多編譯開發(fā)商提供一種擴展—讓標準C支持中斷。具代表事實是,產(chǎn)生了一個新的關鍵字__interrupt。下面的代碼就使用了__interrupt關鍵字去定義
發(fā)表于 12-22 09:36
Temu跨境電商按關鍵字搜索Temu商品API的應用及接口請求示例
Temu跨境電商按關鍵字搜索Temu商品API的應用及接口請求示例 Temu跨境電商按關鍵字搜索Temu商品API的應用場景 Temu跨境電商平臺按關鍵字搜索Temu商品API的主要應用場景包括但不
C語言的編程技巧
、_Alignas關鍵字?:C11標準引入了_Alignas關鍵字,用于顯式指定類型的對齊方式,優(yōu)化內(nèi)存訪問效率。
?5、_Generic關鍵字?:
發(fā)表于 11-27 06:46
哪些場合會用到volatile關鍵字?
當你理解 volatile關鍵字的含義之后,你就能明白,其實很多場合都能用到 volatile關鍵字。
1.全局變量單片機開發(fā),難免會用到全局變量。一些初級工程師,更是全局變量滿天飛。這種情況下
發(fā)表于 11-25 08:19
天眼查平臺關鍵字搜索企業(yè)數(shù)據(jù)API接口技術指南
? 一、接口概述 天眼查提供的企業(yè)搜索API接口,支持通過關鍵字查詢企業(yè)工商信息、經(jīng)營狀態(tài)等核心數(shù)據(jù)。該接口采用RESTful架構(gòu),返回JSON格式數(shù)據(jù)。 二、接口認證 調(diào)用需使用API密鑰認證
1688平臺關鍵字搜索商品API接口技術實踐指南
/com.alibaba.product/alibaba.product.search/ 必備參數(shù): { "keyword": "手機", // 搜索關鍵字 "pageNo": 1, // 頁碼 "pageSize": 20, // 每頁數(shù)量 "access_token": "xxx" // 認證令牌 } 二、響應
亞馬遜平臺根據(jù)關鍵字搜索商品API接口
? ?在電商開發(fā)中,集成亞馬遜平臺的商品搜索功能是常見需求。通過亞馬遜的Product Advertising API(PAAPI),開發(fā)者可以根據(jù)關鍵字高效檢索商品信息。本技術帖將逐步介紹如何調(diào)用
亞馬遜 SP-API 深度開發(fā):關鍵字搜索接口的購物意圖挖掘與合規(guī)競品分析
本文深度解析亞馬遜SP-API關鍵字搜索接口的合規(guī)調(diào)用與商業(yè)應用,涵蓋意圖識別、競品分析、性能優(yōu)化全鏈路。通過COSMO算法解析用戶購物意圖,結(jié)合合規(guī)技術方案提升關鍵詞轉(zhuǎn)化率,助力賣家實現(xiàn)數(shù)據(jù)驅(qū)動決策,安全高效優(yōu)化運營。
阿里巴巴國際站關鍵字搜索 API 實戰(zhàn):從多條件篩選到商品列表高效獲客
??在跨境電商數(shù)據(jù)采集場景中,通過關鍵字精準搜索商品列表是基礎且核心的需求。本文將聚焦阿里巴巴國際站的關鍵字搜索接口,詳細介紹如何構(gòu)建多條件搜索請求、處理分頁數(shù)據(jù)、解析商品列表信息,并提供可直接復用的 Python 實現(xiàn)方案,幫助開發(fā)者快速搭建穩(wěn)定高效的商品搜索功能。
micro 關鍵字搜索全覆蓋商品,并通過 API 接口提供實時數(shù)據(jù)
micro 關鍵字搜索全覆蓋商品”并通過 API 接口提供實時數(shù)據(jù)
static在單片機中的妙用
不要從字面意思誤以為關鍵字 static 很安靜,其實它一點都不安靜。這個關鍵字在 C 語言里主要有兩個作用,下面我們就來介紹一下 C
發(fā)表于 04-02 13:50
?1次下載
單片機編程關鍵字之volatile
volatile 修飾的變量是說這變量可能會被意想不到地改變。通常對于程序員而言,單片機 中用的就算常見了volatile 是易變的,不穩(wěn)定的意思。其實對于很多人來說,根本沒見過這個關鍵字,不 知道
發(fā)表于 04-02 13:47
?2次下載
C語言最雞肋的關鍵字
評論