物联网-C——3、基本数据类型

基本数据类型所占存储空间

#include <stdio.h>
//头文件

//main函数有且只有一个
int main()
{
    char c;
    short s;
    int i;
    float f;
    double d;
    long l;
    long long ll;
    //字符串打印函数
    printf("char:%d\n",sizeof(c));
    printf("short:%d\n",sizeof(s));
    printf("int:%d\n",sizeof(i));
    printf("double:%d\n",sizeof(d));
    printf("long:%d\n",sizeof(l));
    printf("long long:%d\n",sizeof(ll));
    printf("float:%d\n",sizeof(f));
    return 0;
}

各类型所占空间

char- 字符型数据类型

 char c = 'a';
1、该类型创建的变量及常量,在内存中占用1个字节空间,所以只能存储一个字节的内容,通常是一个字符。
2、取值范围可以是0~255也可以是-128到+127。
3、char类型常变量通过ASCII编码将字符转换成对应数字存储到8个二进制位,也就是一个一节
4、ASCII编码常用取值仅位0-127,至于127-255则位预留不常用
ASCII编码表(图片来自于网络,如有侵权请告知删除)

ASCII编码表

short int-短整数型数据类型

 short s = 10;
32位及64位平台均占用2个字节
取值范围:-32768~32767

int-整数型数据类型

 int i = 10;
32及64位平台均占用4个字节
个别编译器、以及51单片机16位平台c语言中占用2个字节,可取值范围-32768~32767
取值范围:正负2的32次方:-2147483648~2147483647

long int-长整数型数据类型

 long l = 100;
32及64位平台均占用4个字节,但是在Mac系统及Linux64位系统占用8个字节
取值范围:-2^32~2^32-1

long long int-长长整形数据类型

long long ll = 1000;
32及64位平台均占用8个字节

float-单精度浮点型数据类型

 float f = 3.14ffloat f = (float)3.14
注:编译器会将小数默认为是double类型,double存储需要8个字节,直接将小数放到float会因为放不下报错,所以需要在后面加f,或者强制类型转换
32及64位平台均占用4个字节
取值范围:(取值范围算法较为复杂,暂不深入研究)
    正数:1.4E-45~3.4E+38
    负数:-3.4E+38~-1.4E-45

double-双精度浮点型数据类型

double b =  3.14;
32及64位平台均占用8个字节
取值范围:(取值范围算法较为复杂,暂不深入研究)
    正数:4.9E-324~1.7E+308
    负数:-1.7E+308~-4.9E-324

科学计数法
    3e5表示3*10^5
    3e-5表示3*0.1^2

原文链接:http://t.csdn.cn/ZA8Ar

register修饰符:将变量建议系统放在寄存器中
1、无法取地址
2、只能修饰字符型及整形数据
3、寄存器中存取数据速度快,但不一定真的存放在寄存器中

static:静态修饰符,修饰变量为静态变量

const:常量修饰符
所修饰变量改变为常量

auto:没用

extern:外部函数及变量声明
将外部变量及函数在当前页声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值