c語言中的sizeof

2021-10-04 03:28:33 字數 819 閱讀 4573

首先,sizeof是c語言的一種單目操作符,以位元組的形式給出了其運算元的儲存大小,其返回值為size_t,在64位機器下被定義為long unsigned int。sizeof測的大小,在不同的機器上可能不一樣,sizeof不能傳函式。

1.基本資料型別

#include

#include

intmain()

2.陣列

3.字串

包含了字串末尾結束符(strlen()函式是求字串的有效長度,不包含末尾結束符 『\0』)

#include

#include

intmain()

4.指標

在32位機器中,指標的長度為4,在64位機器中指標的長度為8

#include

#include

intmain()

#include

#include

voidf1(

char a)

intmain()

幾點重要應用

int len1 = sizeof(a)/sizeof(char);總長度/單個元素的長度

int len2 = sizeof(b)/sizeof(b[0]);總長度/第乙個元素的長度

2.動態記憶體分配

現在分配足以容納10個整數的記憶體,並且我們不知道該特定機器中的sizeof(int)。

int ptr=malloc(10sizeof(int));

c語言中的sizeof

一 sizeof的概念 sizeof是c語言的一種單目操作符,如c語言的其他操作符 等。它並不是函式。sizeof操作符以位元組形式給出了其運算元的儲存大小。運算元可以是乙個表示式或括在括號內的型別名。運算元的儲存大小由運算元的型別決定。二 sizeof的使用方法 1 用於資料型別 sizeof使用...

C語言中的sizeof

一 sizeof是編譯器的內建指示符 不是函式 sizeof用於計算型別或變數所佔的記憶體大小 sizeof的值在編譯期就已經確定 sizeof用於型別 sizeof type sizeof用於變數 sizeof var 或 sizeof var int var 0 printf d n sizeo...

c語言中的sizeof

記載一下我學習c語言的過程 型別名稱 輸入輸出的格式化就是 d,ld,lf 表達數的範圍不一樣 char這玩意就是乙個靜態運算子 靜態運算子我也不知道是什麼玩意,歡迎各位大佬指出 給出某個型別或變數在記憶體中所佔據的位元組數 printf s sizeof int d n sizeof int 4 ...