c размер типа данных

Как я могу знать размер всего типа данных в моем компьютере?

6
задан JuanPablo 12 July 2010 в 02:28
поделиться

4 ответа

Следующая программа должна помочь с примитивными типами:

#include <stdio.h>
int main()
{
    printf("sizeof(char) = %d\n", sizeof(char));
    printf("sizeof(short) = %d\n", sizeof(short));
    printf("sizeof(int) = %d\n", sizeof(int));
    printf("sizeof(long) = %d\n", sizeof(long));
    printf("sizeof(long long) = %d\n", sizeof(long long));
    printf("sizeof(float) = %d\n", sizeof(float));
    printf("sizeof(double) = %d\n", sizeof(double));
    printf("sizeof(long double) = %d\n", sizeof(long double));
    return 0;
}

Она печатает количество «байтов», используемых типом, с sizeof (char) == 1 по определению. То, что означает 1 (то есть сколько битов), зависит от конкретной реализации и, вероятно, зависит от базового оборудования. Например, некоторые машины имеют 7-битные байты, некоторые - 10 или 12-битные байты.

8
ответ дан 8 December 2019 в 14:39
поделиться

Вы можете применить sizeof к каждому типу, размер которого вам нужно знать, а затем вы можете вывести результат.

6
ответ дан 8 December 2019 в 14:39
поделиться

sizeof(T) выдаст вам размер любого переданного ему типа. Если вы пытаетесь узнать размер всех типов данных, используемых или определенных в конкретной программе, вы не сможете этого сделать - C не сохраняет информацию такого уровня при компиляции.

2
ответ дан 8 December 2019 в 14:39
поделиться

Используйте sizeof для получения размера типа переменной (измеряется в байтах).
Например:
#include
sizeof(int32_t) вернет 4
sizeof(char) вернет 1
int64_t a;
sizeof a; вернет 8

См. http://publications. gbdirect.co.uk/c_book/chapter5/sizeof_and_malloc.html

0
ответ дан 8 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: