您的位置:首页 > 其它

基本数据类型分析

2017-11-16 19:17 239 查看
编程时需要使用字节,为了方便引入了数据类型。

1.什么是数据类型?

数据类型可以理解为固定内存大小的别名,也是创建变量的模子。

使用内存是需要借,为了方便引入变量。

什么是变量呢?

一段连续实际存储空间的别名。

程序中通过变量来申请并命名存储空间。

通过变量的名字可以使用存储空间。

实例:

#include <stdio.h>

int main()

{

    char c = 0;

    short s = 0;

    int i = 0;

    

    printf("%d, %d\n", sizeof(char), sizeof(c));

    printf("%d, %d\n", sizeof(short), sizeof(s));

    printf("%d, %d\n", sizeof(int), sizeof(i));

    

    return 0;

}

运行结果:

1,1

2,2

4,4

解释:

char 是一个字节的别名,所以字节数为1。变量c是char定义的,即它的模子是char,所以变量c的字节也是1。

short 是两个字节的别名,所以字节数为2。变量s是short定义的,即它的模子是short,所以变量s的字节也是2。

int 是四个字节的别名,所以字节数为4。变量i是int定义的,即它的模子是int,所以变量i的字节也是4。



实例:#include<stdio.h>

typedef int INT32;

typedef unsigned char BYTE;

typedef struct demo

{

short s;

BYTE b1;

BYTE b2;

INT32 i;

}DEMO;

int main()

{

INT32 i32;

BYTE byte;

DEMO d;

printf("%d,%d\n",sizeof(INT32),sizeof(i32));

printf("%d,%d\n",sizeof(BYTE),sizeof(byte));

printf("%d,%d\n",sizeof(DEMO),sizeof(d));

return 0;

}

运行结果:

4,4

1,1

8,8

解释:

INT32是自定义的int的别名,所以INT32占4个字节,i32是INT32定义的,即它的模子是INT32,所以i32也占4个字节。

BYTE是自定义的unsigned char的别名,所以BYTE占1个字节,byte是BYTE定义的,即它的模子是BYTE,所以byte也占1个字节。

DEMO是自定义的struct结构体,struct的字节数是1个short的字节数加上2个BYTE的字节数加上1个INT32的字节数,即为8个字节,而d是DEMO定义的,即它是由DEMO产生的,所以d也占8个字节。

扩展:strcut定义的4个域可以分开使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: