c语言数据类型知识补充

主要是在原有知识基础上对自己知识的进一步补充和扫盲,且均在32位基础上。

数据的类型相关知识

1.基本类型
整型数据
short (int)2个字节,16位 //括号内为可以省略,一个字节8位
int 4个字节
long (int) 4个字节
long long (int) 8个字节
(unsigned和signed进行组合成无符号和有符号)

字符型(也可以看成另类的整型)
char 1个字节

浮点型
float 4个字节
double 8个字节

构造类型
数组、结构体、联合体、枚举

指针类型

空类型
主要是void的用法,除了基本的,还有用处
void * 定义通用指针

其次也可以划分为常量和变量,注意无二进制常量,因为其他均是转换二进制代码

浮点型一般默认为double型
%u为无符号输出

补充

‘\r’——为enter
效果和作用,就是将光标移动到首位,然后开始覆盖

#include "stdio.h"
void main()
{
	
	printf("%d\r111\n", 10000);
	
}

运行结果

gec@ubuntu:/mnt/hgfs/share-2$ gcc one.c -o one
gec@ubuntu:/mnt/hgfs/share-2$ ./one
11100

111对10000进行了覆盖,不在同一个输出‘\’时,只会输出111

变量的左、右值
左值是表示变量为一个地址
右值是表示变量为一个值

#include "stdio.h"
void main()
{
	
	int a=10;//a表示一个地址,存入10这个常量
	int b=a;//a表示一个值,将其赋值给b
	a=100;
	printf("%d\n", a);
	printf("%d\n", b);//且注意a和b均是单独开辟的空间,无直接联系
	
	
}

结果

gec@ubuntu:/mnt/hgfs/share-2$ gcc one.c -o one
gec@ubuntu:/mnt/hgfs/share-2$ ./one
100
10

不同字节类型赋值时注意点:除了基本的赋值关系外,注意数据仅与原有类型有关,与输出%d或者%u无多大关系,%d或者%u是转换后将这一串补码,看成一个有符号还是无符号的输出。

#include "stdio.h"
void main()
{
	
	int a=-1;
	char b=a;
	printf("%u\n", b);
	
	
}

分析:int时的补码:0xFFFFFFFF
赋给char后:1111 1111
然后以无符号int输出,但char为有符号:高位补1,则补码位=原码:0xFFFFFFFF
将补码看成有符号输出
则输出:4294967295

gec@ubuntu:/mnt/hgfs/share-2$ gcc one.c -o one
gec@ubuntu:/mnt/hgfs/share-2$ ./one
4294967295

@3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@矛盾综合体

感觉有帮助可以点个赞哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值