[good]c语言中各种类型

发布时间 2023-12-01 09:08:31作者: 风中狂笑
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <assert.h>
#include <math.h>
#include <time.h>
#include <limits.h>
#include <float.h>
#include <ctype.h>
#include <locale.h>
#include <setjmp.h>
#include <signal.h>
#include <errno.h>
#include <stddef.h>
#include <wchar.h>
#include <wctype.h>
#include <stdint.h>

// typedef signed char int8_t;
// typedef short int16_t;
// typedef int int32_t;
// typedef long long int64_t;
// typedef unsigned char uint8_t;
// typedef unsigned short uint16_t;
// typedef unsigned int uint32_t;
// typedef unsigned long long uint64_t;

#define print_size(x) printf("the size of %s is : %zu\n", #x, sizeof(x));

typedef struct
{
    double a;
    int x;
    char c;
    char *name;
} str_ex;

int main(int argc, char *argvc[])
{
    print_size(int8_t);
    print_size(int16_t);
    print_size(int32_t);
    print_size(int64_t);
    print_size(uint8_t);
    print_size(uint16_t);
    print_size(uint32_t);
    print_size(char);
    print_size(short int);
    print_size(unsigned short int);
    print_size(unsigned int);
    print_size(int);
    print_size(long int);
    print_size(unsigned long int);
    print_size(long long int);
    print_size(unsigned long long int);
    print_size(signed char);
    print_size(unsigned char);
    print_size(float);
    print_size(double);
    print_size(long double);
    print_size(char *);
    print_size(short int *);
    print_size(unsigned short int *);
    print_size(unsigned int *);
    print_size(int *);
    print_size(long int *);
    print_size(unsigned long int *);
    print_size(long long int *);
    print_size(unsigned long long int *);
    print_size(signed char *);
    print_size(unsigned char *);
    print_size(float *);
    print_size(double *);
    print_size(long double *);

    print_size(str_ex);
}