c語言中data函數的用法「c語言中int占幾個位元組」

sizeof關鍵字

C語言提供了sizeof關鍵字,可以用於獲取某個數據類型或者變量的位元組容量大小。例如char類型佔據1個位元組的容量,double類型變量佔據8個位元組的容量。該關鍵字的使用格式如下:

sizeof(數據類型名);

sizeof(變量名);

程序測試代碼如下:

深入學習,可以交個朋友,工人人人號:韋凱峰linux編程學堂

C語言的sizeof關鍵字,如何獲取數組容量?想一想

程序運行結果如下:

C語言的sizeof關鍵字,如何獲取數組容量?想一想

可以看到,sizeof(char)就返回了char類型定義變量時,所佔據的內存位元組數。sizeof(a)就返回了變量a所佔據的內存位元組數。

sizeof關鍵字可以獲取數組、結構體、指針等C語言合法的數據類型和變量的位元組容量。

sizeof關鍵字獲取數組容量

假設有如下定義的一維數組:

int array[8];

那麼,這個 array[] 數組佔據多少個位元組容量?我們可以思考如下:

(1) array[] 數組有8個元素;

(2) 數組每個元素是int類型,由於int類型佔據4個位元組;所以,array[]數組就佔用8 * 4 = 32個位元組的空間。

程序測試例子如下:

深入學習,可以交個朋友,工人人人號:韋凱峰linux編程學堂

C語言的sizeof關鍵字,如何獲取數組容量?想一想

程序運行結果如下:

C語言的sizeof關鍵字,如何獲取數組容量?想一想

可以看到,通過sizeof(array)獲取array數組的容量,就是獲取數組所佔據的內存位元組數。

那麼,我們可以通過sizeof關鍵字獲取數組所佔據的內存位元組數,如果知道數組元素的類型,就可以知道數組的長度。計算過程如下:

(1) sizeof(數組元素類型); 獲取數組中一個元素所佔據的位元組數;假設為X;

(2) sizeof(數組); 獲取數組佔據的位元組數;假設為Y;

那麼,數組的長度就是數組中元素的個數,假設為 num,就有 num = Y/X;程序測試代碼如下:

深入學習,可以交個朋友,工人人人號:韋凱峰linux編程學堂

C語言的sizeof關鍵字,如何獲取數組容量?想一想

程序運行結果如下:

C語言的sizeof關鍵字,如何獲取數組容量?想一想

可以看到,計算出了num變量就是array數組的長度。就是所含元素的個數。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/253372.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-14 02:25
下一篇 2024-12-14 02:27

相關推薦

發表回復

登錄後才能評論