sizeof 理解 原理 本質 用法

2021-09-12 07:51:28 字數 582 閱讀 2173

sizeof 不是操縱符,也不是函式,因為在執行階段沒有它,它沒有被編譯成機器

指令。可以把它看做乙個巨集。

sizeof 在編譯期間就處理完成了。所以像size(a=3)這種,a是不會被賦值的。

a還是原來的值。

cout《在理解了sizeof這些原理後,基本用法就好理解,只要把握好它作用在編譯階段就不會出錯

sizeof 作用於型別,作用於基本型別就沒什麼好說的拉

sizeof 作用於變數,決定於變數的型別就好了。

sizeof 作用於函式,決定於函式的返回值,形式:sizeof(func(形參)),函式並不會被呼叫

sizeof 作用於結構體,基本型別相加,注意位元組對齊。

#include using namespace std;

struct test;

int main(){

struct test test_my;

test_my.a=0;

test_my.b='1';

cout<<"sizeof(test_my)"<

sizeof用法總結

在vc中,sizeof有著許多的用法,而且很容易引起一些錯誤。下面根據sizeof後面的 引數對sizeof的用法做個總結。a 引數為資料型別或者為一般變數。例如sizeof int sizeof long 等等。這種情 況要注意的是不同系統系統或者不同編譯器得到的結果可能是不同的。例如int型別在...

sizeof 用法總結

sizeof 功能 計算資料空間的位元組數 1.與strlen 比較 strlen 計算字元陣列的字元數,以 0 為結束判斷。而sizeof計算資料 包括陣列 變數 型別 結構體等 所佔記憶體空間,用位元組數表示 2.指標與靜態陣列的sizeof操作 指標均可看為變數型別的一種。所有指標變數的siz...

sizeof用法總結

sizeof用法總結 以下執行環境都是一般的,在32位編譯環境中 1,基本資料型別的sizeof cout 再看示例 pragma pack push 將當前pack設定壓棧儲存 pragma pack 2 必須在結構體定義之前使用 struct s1 struct s3 pragma pack p...