C语言封装自己FIFO库函数,C语言学习笔记_void&NULL

C语言学习笔记_void&NULL

API和库函数

API是操作系统系统的接口,用于获取操作系统提供的服务,如读写文件open、write等;

库函数是c语言对操作系统API的封装,如fopen、fwrite;

不同的操作系统具有不同的API,而库函数相同,具有一定的可移植性;

main函数的传参

int main(void);

int main(int argc, char **argv);

int main(int argc, char *argv[]);

调用main函数的父进程给main函数传参,并接收main函数的返回值;

参数如上所示,两个均可以使用;

argc表示参数的长度,argv是一个二维字符数组,保存字符串格式的参数;

void类型

void类型并不是空类型,只是表示暂时不确定此类型;

典型例子如malloc,此函数不确定申请的内存用于存放什么类型,所以返回值为void *

void类型通过强制类型转换成为一个具体类型;

NULL

NULL不是C语言关键字,本质上是一个宏定义:

#ifdef _cplusplus

#define NULL 0

#else

#define NULL (void *)0

#endif

在c++编译环境中,编译器预定义了一个宏_cplusplus,程序可以用条件编译来判断当前的编译环境是c++还是c;

上述定义表示,在c编译环境中,NULL表示指针变量,表示地址0,指向的数据类型为void;

这是因为地址0是操作系统管控的区域,如果不小心解引用了程序会报段错误,防止更改到有效数据;

来源:https://www.cnblogs.com/sakurapiggy/p/13350629.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值