溫馨提示×

sizeof在c語言中如何使用

小樊
82
2024-09-08 22:34:54
欄目: 編程語言

sizeof 是 C 語言中的一個運算符,它用于計算數(shù)據(jù)類型或?qū)ο笏加玫膬?nèi)存字節(jié)數(shù)。以下是 sizeof 在 C 語言中的一些基本用法:

  1. 計算數(shù)據(jù)類型的大?。?/li>
#include<stdio.h>

int main() {
    printf("Size of int: %ld bytes\n", sizeof(int));
    printf("Size of float: %ld bytes\n", sizeof(float));
    printf("Size of double: %ld bytes\n", sizeof(double));
    return 0;
}
  1. 計算變量的大?。?/li>
#include<stdio.h>

int main() {
    int a;
    float b;
    double c;
    
    printf("Size of variable 'a' (int): %ld bytes\n", sizeof(a));
    printf("Size of variable 'b' (float): %ld bytes\n", sizeof(b));
    printf("Size of variable 'c' (double): %ld bytes\n", sizeof(c));
    return 0;
}
  1. 計算數(shù)組的大?。?/li>
#include<stdio.h>

int main() {
    int arr[10];
    
    printf("Size of the array: %ld bytes\n", sizeof(arr));
    printf("Number of elements in the array: %ld\n", sizeof(arr) / sizeof(arr[0]));
    return 0;
}
  1. 計算結(jié)構(gòu)體的大?。?/li>
#include<stdio.h>

typedef struct {
    int id;
    float weight;
    char name[20];
} Person;

int main() {
    Person person;
    
    printf("Size of the Person structure: %ld bytes\n", sizeof(Person));
    printf("Size of the 'person' variable: %ld bytes\n", sizeof(person));
    return 0;
}

注意:sizeof 返回的是一個 size_t 類型的值,因此在打印時應(yīng)該使用 %zu 格式說明符(C99 標(biāo)準(zhǔn)及以后)或者 %ld 格式說明符(在某些平臺上,size_t 可能是一個與 long 類型相同的無符號整數(shù))。

0