C 語言基礎教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結構體

C 語言文件

C 其他

C 語言參考手冊

C 語言 sizeof() 運算符

sizeof() 運算符在C語言中使用時,它決定表達式的大小或在char大小的存儲單元數(shù)量中指定的數(shù)據(jù)類型。sizeof() 運算符包含一個操作數(shù),該操作數(shù)可以是表達式,也可以是數(shù)據(jù)類型轉換,其中轉換是用括號括起來的數(shù)據(jù)類型。數(shù)據(jù)類型不僅可以是基本數(shù)據(jù)類型(如整數(shù)或浮動數(shù)據(jù)類型),還可以是指針數(shù)據(jù)類型和復合數(shù)據(jù)類型(如聯(lián)合和結構)。

sizeof()運算符的作用

程序要知道原始數(shù)據(jù)類型的存儲大小。盡管數(shù)據(jù)類型的存儲大小是恒定的,但在不同的平臺上實現(xiàn)時它會有所不同。例如,我們可以使用sizeof()運算符動態(tài)分配數(shù)組空間:

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

在上面的示例中,我們使用了sizeof()運算符,該運算符應用于int類型的轉換。我們使用malloc()函數(shù)分配內存,并返回指向該已分配內存的指針。內存空間等于int數(shù)據(jù)類型占用的字節(jié)數(shù)并乘以10。

注意:輸出在不同的機器上可能會有所不同,例如在32位操作系統(tǒng)上將顯示不同的輸出,在64位操作系統(tǒng)上將顯示相同數(shù)據(jù)類型的不同輸出。

sizeof()運算符的行為根據(jù)操作數(shù)的類型而有所不同。

  • 操作數(shù)可以是一種數(shù)據(jù)類型

  • 操作數(shù)可以是一個表達式

當操作數(shù)是數(shù)據(jù)類型時。

#include <stdio.h>
int main()
{
    int x=89;    //變量聲明
    printf("變量x的大小是 %d", sizeof(x));  //顯示x變量的大小
    printf("\ninteger數(shù)據(jù)類型的大小為 %d",sizeof(int)); //顯示整數(shù)數(shù)據(jù)類型的大小。
    printf("\n字符數(shù)據(jù)類型的大小為 %d",sizeof(char)); //顯示字符數(shù)據(jù)類型的大小

    printf("\n浮動數(shù)據(jù)類型的大小為 %d",sizeof(float)); //顯示浮動數(shù)據(jù)類型的大小。
return 0;
}

在上面的代碼中,我們借助sizeof()運算符來打印不同數(shù)據(jù)類型(如int,char,float 大小。

輸出結果

變量x的大小是 4
integer數(shù)據(jù)類型的大小為 4
字符數(shù)據(jù)類型的大小為 1
浮動數(shù)據(jù)類型的大小為 4

當操作數(shù)是表達式時

#include <stdio.h>
int main()
{
  double i=78.0; //變量初始化。
  float j=6.78; //變量初始化。
  printf("(i+j) 表達式的大小為 : %d",sizeof(i+j)); //顯示表達式的大小(i + j)。
  return 0;
}

在上面的代碼中,我們分別創(chuàng)建了兩個類型為double和float的變量'i'和'j',然后使用sizeof(i + j)運算符打印表達式的大小。

輸出結果

(i+j) 表達式的大小為 : 8
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清