sizeofC語言什麼意思
❶ c語言裡面的sizeof是什麼
sizeof是c/c++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的內存位元組數
在你的程序中就是輸出p和q數組所佔用的位元組數
❷ c語言程序里sizeof是什麼意思
在 Pascal 語言中,sizeof() 是一種內存容量度量函數,功能是返回一個變數或者類型的大小(以位元組為單位);在 C 語言中,sizeof() 是一個判斷數據類型或者表達式長度的運算符。
在Pascal 語言與C語言中,對 sizeof() 的處理都是在編譯階段進行。
(2)sizeofC語言什麼意思擴展閱讀
需要注意的是,結構體的 sizeof,由於位元組對齊的原因,結構體所佔的空間,並不是其所有成員所佔空間的累加和。
sizeof 對一個表達式求值,編譯器根據表達式的最終結果類型來確定大小,一般不會對表達式進行計算。所以
sizeof(1+2)等價於sizeof(int);
sizeof(1+2.5)等價於sizeof(double)。
❸ C語言里sizeof(char)是什麼意思
sizeof() 是一種內存容量度量函數,功能是返回一個變數或者類型的大小(以位元組為單位)。
char是c語言中基本類型,一般char類型佔1個位元組。
sizeof(char)的結果是,1。
sizeof:計算數據類型長度
char = 1
int 2,
long 4
int a[6];
sizeof (a) 2*6= 12
單位都是位元組。
float 4
(3)sizeofC語言什麼意思擴展閱讀:
在 Pascal 語言中,sizeof() 是一種內存容量度量函數,功能是返回一個變數或者類型的大小(以位元組為單位);在 C 語言中,sizeof() 是一個判斷數據類型或者表達式長度的運算符。
定義
sizeof是C/C++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的內存位元組數。
MSDN上的解釋為:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
其返回值類型為size_t,在頭文件stddef.h中定義。這是一個依賴於編譯系統的值,一般定義為:
typedefunsignedintsize_t;❹ C語言中sizeof是什麼意思
sizeof是C語言的一個運算操作符,用來計算系統為後面的一對()中的標識符代表的實體分配的內存空間的位元組數,比如sizeof(int)計算系統為int型變數分配的位元組數(在32位int平台下是4);若有int a;,則sizeof(a)也能計算出系統為int型變數分配的位元組數。再如sizeof(已聲明過的數組名),就得到系統為這個數組分配的位元組數,而sizeof(指針)則只計算出系統為指針分配的位元組數(至於指針指向的內容佔多少位元組並不得而知)。多說一句,有人把sizeof和函數混淆了,這是不妥的,sizeof不是函數。
❺ sizeof是什麼意思
sizeof是C語言中保留關鍵字,也可以認為是一種運算符,單目運算符。能獲取某個數據類型所佔用空間的位元組數。
❻ C語言中sizeof是什麼意思
sizeof是C語言中保留關鍵字,也可以認為是一種運算符,單目運算符。常見的使用方式:
int a=10;
int arr=[1,2,3];
char str[]="hello";
int len_a = sizeof(a);
int len_arr = sizeof(arr);
int len_str = sizeof(str)
printf("len_a=%d,len_arr=%d,len_str=%d ",len_a,len_arr,len_str)
結果是:len_a=4,len_arr=12,len_str=6
(6)sizeofC語言什麼意思擴展閱讀:
在 Pascal 語言中,sizeof() 是一種內存容量度量函數,功能是返回一個變數或者類型的大小(以位元組為單位)。
在 C 語言中,sizeof() 是一個判斷數據類型或者表達式長度的運算符。
在Pascal 語言與C語言中,對 sizeof() 的處理都是在編譯階段進行。
sizeof是C/C++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的內存位元組數。
MSDN上的解釋為:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
網路-sizeof
❼ C語言中「SIZEOF(INT)「是什麼意思有什麼作用
sizeof是計算對象所佔的位元組數,通常用來查看變數、數組或結構體等所佔位元組個數的操作運算符。sizeof(int)的作用是算出int類型的長度 。
對於數據類型的sizeof,取決於CPU位數,編譯器,匯編等,32位系統下是4個位元組,64位系統化下是8個位元組。
(7)sizeofC語言什麼意思擴展閱讀:
Sizeof與Strlen的區別與聯系
(1)sizeof操作符的結果類型是size_t,它在頭文件中typedef為unsigned int類型。其值在編譯時即計算好了,strlen的結果要在運行的時候才能計算出來,是用來計算字元串的長度。
(2)sizeof是運算符,strlen是函數。
(3)sizeof可以用類型做參數,strlen只能用char*做參數,且必須是以「 」結尾的。
(4)數組做sizeof的參數不退化,傳遞給strlen就退化為指針了。
參考資料來源:網路-sizeof
❽ c語言中SIZEOF啥意義
一、sizeof的概念
sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等。它並不是函數。sizeof操作符以位元組形式給出了其操作數的存儲大小。操作數可以是一個表達式或括在括弧內的類型名。操作數的存儲大小由操作數的類型決定。
二、sizeof的使用方法
1、用於數據類型
sizeof使用形式:sizeof(type)
數據類型必須用括弧括住。如sizeof(int)。
2、用於變數
sizeof使用形式:sizeof(var_name)或sizeofvar_name
變數名可以不用括弧括住。如sizeof(var_name),sizeofvar_name等都是正確形式。帶括弧的用法更普遍,大多數程序員採用這種形式。
注意:sizeof操作符不能用於函數類型,不完全類型或位欄位。不完全類型指具有未知存儲大小的數據類型,如未知存儲大小的數組類型、未知內容的結構或聯合類型、void類型等。
如sizeof(max)若此時變數max定義為intmax(),sizeof(char_v)若此時char_v定義為charchar_v[MAX]且MAX未知,sizeof(void)都不是正確形式。
三、sizeof的結果
sizeof操作符的結果類型是size_t,它在頭文件
中typedef為unsignedint類型。該類型保證能容納實現所建立的最大對象的位元組大小。
1、若操作數具有類型char、unsignedchar或signedchar,其結果等於1。
ANSIC正式規定字元類型為1位元組。
2、int、unsignedint、shortint、unsignedshort、longint、unsignedlong、 float、double、longdouble類型的sizeof在ANSIC中沒有具體規定,大小依賴於實現,一般可能分別為2、2、2、2、 4、4、4、8、10。
3、當操作數是指針時,sizeof依賴於編譯器。例如MicrosoftC/C++7.0中,near類指針位元組數為2,far、huge類指針位元組數為4。一般Unix的指針位元組數為4。
4、當操作數具有數組類型時,其結果是數組的總位元組數。
5、聯合類型操作數的sizeof是其最大位元組成員的位元組數。結構類型操作數的sizeof是這種類型對象的總位元組數,包括任何墊補在內。
讓我們看如下結構:
struct{charb;doublex;}a;
在某些機器上sizeof(a)=12,而一般sizeof(char)+sizeof(double)=9。
這是因為編譯器在考慮對齊問題時,在結構中插入空位以控制各成員對象的地址對齊。如double類型的結構成員x要放在被4整除的地址。
6、如果操作數是函數中的數組形參或函數類型的形參,sizeof給出其指針的大小。
四、sizeof與其他操作符的關系
sizeof的優先順序為2級,比/、%等3級運算符優先順序高。它可以與其他操作符一起組成表達式。如i*sizeof(int);其中i為int類型變數。
五、sizeof的主要用途
1、sizeof操作符的一個主要用途是與存儲分配和I/O系統那樣的常式進行通信。例如:
void*malloc(size_tsize),
size_tfread(void*ptr,size_tsize,size_tnmemb,FILE*stream)。
2、sizeof的另一個的主要用途是計算數組中元素的個數。例如:
void*memset(void*s,intc,sizeof(s))。
六、建議
由於操作數的位元組數在實現時可能出現變化,建議在涉及到操作數位元組大小時用sizeof來代替常量計算。
❾ c語言中,sizeof是什麼意思
sizeof() 是一個獲取數據類型或者表達式長度的運算符
例如:sizeof(int)就是獲取int型的長度,所以值為4,即int型佔4位元組內存
❿ c語言中sizeof什麼意思
sizeof
不是函數名,而是運算符。計算
變數類型百,或某一變數占內存度
大小
的位元組數。
例如
int
型,知double
型,struct
型,簡道單變數名,數組名
:
#include
<stdio.h>
struct
AA{
char
name[80];
int
v[10];
double
d[2];
};
int
main(){
int
i
=
102;
double
v=18.00;
struct
AA
s[3];
printf("int:
sizeof(int)=%d\n",sizeof(int));
printf("int
i:
sizeof(i)=%d\n",sizeof(i));
printf("double:
sizeof(double)=%d\n",sizeof(double));
printf("double
v:
sizeof(v)=%d\n",sizeof(v));
printf("struct
AA:
sizeof(struct
AA)=%d\n",sizeof(struct
AA));
printf("struct
AA
s[3]:
sizeof(s)=%d\n",sizeof(s));
return
0;
}