c语言typedef、void、sizeof简单介绍

typedef(起别名)

  • 是c语言的一个关键字,作用是为一种数据类型(基本类型或自定义数据裂隙)定义一个新名字,不能创建新类型
  • 与#define不同,typedef仅限于数据类型,而不能是表达式或具体的值
  • #define发生在预处理,typedef发生在编译阶段

例:

typedef unsigned long long ull;

ull a=10;

例:

struct student
{
char name[20];

char sex;

};
typedef sturct student ss;

例:

typedef struct student
{
char name[20];

char sex;

}ss;

void数据类型

void字面意思是“无类型",void*无类型指针,无类型指针可以指向任意类型的数据

void定义变量是没有任何意义的,当你定义void a,编译器会报错,因为编译器不知道分配多少内存给变量

void真正用在以下两个方面:

1:对函数返回的限定;

2:对函数参数的限定;
任何指针的类型都可以转换成无类型指针,不用强转

sizeof操作符

sizeof是c语言中的一个操作符,类似于++、–等等,sizeof能够告诉我们编译器为某一个特定数据或者某一个类型的数据在内存中分配空间时分配的大小,大小以字节为单位。

sizeof(变量);

sizeof 变量;

sizeof(类型);

sizeof 注意点:

  • sizeof返回的占用空间大小是为这个变量开辟的大小,而不只是它用到的空间。和现今住房的建筑面积和实用面积的概念差不多,所以对结构体用的时候,大多情况下就得考虑字节对齐的问题
  • sizeof返回的数据结果类型是unsigned int;
  • 要注意数组名和指针变量的区别。通常情况下,我没总觉得数组名和指针变量差不多,但是在用sizeof的时候差别很大,对数组名用sizeof返回的是整个数组的大小,而对指针变量进行操作的时候返回的则是指针变量本身所占得空间,在32位机的条件下一般都是4,而且当数组名作为函数参数时,在函数内部,形参也就是个指针,所以不再返回数组的大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值