C/C++編程知識:運算符(五)丨sizeof()運算符來啦!

在C或C ++中, Sizeof是一個很是經常使用的運算符。它是一個編譯時一元運算符,可用於計算其操做數的大小。sizeof的結果是無符號整數類型,一般用size_t表示。sizeof能夠應用於任何數據類型,包括原始類型(例如整數和浮點類型,指針類型)或複合數據類型(例如Structure,union等)。ios

用法編程

sizeof()運算符根據操做數類型以不一樣方式使用。數組

1.當操做數是數據類型時

當將sizeof()與int,float,char…等數據類型一塊兒使用時,它僅返回分配給該數據類型的內存量。微信

讓咱們來看一個例子:學習

C語言:spa

#include <stdio.h>指針

int main()視頻

{blog

    printf("%lu\n", sizeof(char));教程

    printf("%lu\n", sizeof(int));

    printf("%lu\n", sizeof(float));

    printf("%lu", sizeof(double));

    return 0;

}

C ++:

#include <iostream>

using namespace std;

int main()

{

    cout << sizeof(char)<<"\n";

    cout << sizeof(int)<<"\n";

    cout << sizeof(float)<<"\n";

    cout << sizeof(double)<<"\n";

    return 0;

}

注意:sizeof()可能會根據機器提供不一樣的輸出,咱們已經在32位gcc編譯器上運行了程序。

2.當操做數是一個表達式時

當將sizeof()與表達式一塊兒使用時,它將返回表達式的大小。看例子:

C語言:

#include <stdio.h>

int main()

{

    inta = 0;

    double d = 10.21;

    printf("%lu", sizeof(a + d));

    return 0;

}

C ++:

#include <iostream>

using namespace std;

int main()

{

    int a = 0;

    double d = 10.21;

    cout << sizeof(a + d));

    return 0;

}

從int和double的第一種狀況下咱們知道,大小分別是4和8,a是int變量,而d是double變量。最終結果將是兩倍。所以,咱們程序的輸出爲8個字節。

須要Sizeof

1.找出數組中元素的數量。

Sizeof可用於自動計算數組元素的數量。讓咱們看例子:

C語言:

#include <stdio.h>

int main()

{

    int arr[] = { 1, 2, 3, 4, 7, 98, 0, 12, 35, 99, 14 };

    printf("Number of elements:%lu ", sizeof(arr) / sizeof(arr[0]));

    return 0;

}

C ++:

#include <iostream>

using namespace std;

int main()

{

    int arr[] = { 1, 2, 3, 4, 7, 98, 

    0, 12, 35, 99, 14 };

    cout << "Number of elements: "

    <<(sizeof(arr) / sizeof(arr[0]));

    return 0;

}

2.爲了動態分配的內存塊

sizeof在動態內存分配中被大量使用。例如,若是咱們要分配足以容納10個整數的內存,而咱們不知道該特定機器中的sizeof(int)。咱們能夠藉助sizeof進行分配。

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

但願對你們有幫助!更多知識,會繼續分享奧~

另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~

C語言C++編程學習交流圈子,QQ羣1090842465點擊進入】微信公衆號:C語言編程學習基地

分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)

歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!

編程學習書籍分享:

編程學習視頻分享:

相關文章
相關標籤/搜索