前言
在百度百科上看到實現 itoa 函數的源代碼,里面有一行代碼引起了我的興趣:
1unsigned unum;
通常,我們定義無符號的一個變量,一般采用如下方式:
1unsigned char variable;
2unsigned short variable;
3unsigned int variable;
那么省略 unsigned 后面的數據類型關鍵字,直接使用 unsigned 定義變量,這個變量會是什么類型的呢?我查了一下,unsigned若省略后一個關鍵字,大多數編譯器都會認為是unsigned int,是不是這樣呢,我們可以寫個簡單的代碼驗證一下。
測試
我測試的gcc編譯器版本為 7.5.0 :
測試代碼如下:
1int main(void)
2{
3 unsigned val = 0;
4 printf("unsigned int: %d byten", sizeof(unsigned int));
5 printf("unsigned: %d byten", sizeof(val));
6 return 0;
7}
輸出:
1unsigned int: 4 byte
2unsigned: 4 byte
可以看到,在我使用的這個版本的 gcc 編譯器下測試,unsigned 后面省略數據類型關鍵字定義出來的變量,其占用的字節長度與 unsigned int 類型定義的變量占用的字節長度相同,所以在我這個版本的gcc編譯器下,unsigned 后省略一個關鍵字,會認為是unsigned int 類型。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
gcc編譯器
+關注
關注
0文章
78瀏覽量
3698
發布評論請先 登錄
相關推薦
熱點推薦
變量的聲明和定義有什么區別和聯系
變量的聲明和定義是編程中的兩個重要概念,它們在語法和語義上有一些區別和聯系。在本文中,我將詳細介紹變量的聲明和定義之間的區別和聯系。 首先,讓我們從
這句定義變量的意思是什么?
unsigned char xdata UART_BASE[256] _at_ 0xF400;unsigned char xdata UART1_BASE[256] _at_ 0xF500;unsigned char xdata
發表于 01-16 17:22
定義變量的位置
。void delay(unsigned int i);//函數聲名***it LE = P1^0;//定義輸出使能控制腳在P1.0上char DelayCNT;//定義變量 //此表
發表于 03-11 17:04
xdata定義的變量同直接定義的變量同名???
在51單片機中。如下定義:unsigned char xdata num;unsigned char num;這樣定義會不會有問題???在模塊中用的時候是用哪個
發表于 05-12 14:50
ARM定義特殊寄存器(*(volatile unsigned long *))的理解
*) 0xE0028000))為例:作為一個宏定義語句,define是定義一個變量或常量的偽指令。首先( volatile unsigned long * )的意思是將后面的那個地址
發表于 11-16 20:44
請問430變量定義volatile是什么意思?
430中為什么有些變量定義是這樣寫的: volatile unsigned int i;這volatile是什么意思,這樣定義有什么作用?
發表于 03-29 02:58
Python私有變量的定義方法
學過編程語言的人員,都知道私有變量在編程中必不可少,與Java和C語言用private關鍵字定義私有變量不同,Python是在變量前面加上雙橫杠(例如:__test)來標識,Pytho
發表于 02-13 16:49
?1770次閱讀
單片機C語言中變量的定義方法解析
#pragma rambank0 ;即以關鍵詞#pragma開始,rambank0指明資料區塊為第0塊。
unsigned char m_acc; ;定義一個無符號字符型變量m_acc
發表于 09-29 16:26
?9752次閱讀
C51 單片機的 C 語言中的變量定義與硬件之間的關系
名 [= &所指向的變量名]指針變量的賦值:(不用 *)指針變量變量名 = 所指向的變量名修飾符修飾符釋義unsigned無符號au
發表于 11-23 16:51
?3次下載

oracle sql 定義變量并賦值
在Oracle SQL中,變量是用來存儲數據值的標識符。通過定義和使用變量,我們可以在SQL語句中使用它們來存儲和處理數據,從而實現更靈活和動態的查詢和操作。 在Oracle SQL中,定義
西門子博途:如何定義PLC變量
在 TIA Portal 中,可以在程序段中創建用戶程序時直接創建變量。 以下步驟介紹了如何定義 PLC 變量以及將插入的 LAD 指令與 PLC
發表于 12-29 18:10
?3148次閱讀

評論