C99标准

31 篇文章 ¥19.90 ¥99.00
本文详细介绍了C99标准的新增特性,包括restrict指针、inline内联关键字、新增数据类型如_Bool和复数类型、可变长数组、内联函数优化性能、单行注释、预处理程序修改等。C99还增强了数组声明、for循环内的变量声明、复合赋值等功能,并引入了新的库和头文件,如<complex.h>和<stdbool.h>,以支持复数运算和布尔类型。文章最后提到了一些其他改动,如放宽的转换限制和对返回值的约束。

1. 增加restrict指针   

C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象。restrict指针指针主要用做函数变元,或者指向由malloc()函数所分配的内存变量。restrict数据类型不改变程序的语义。   

如果某个函数定义了两个restrict指针变元,编译程序就假定它们指向两个不同的对象,memcpy()函数就是restrict指针的一个典型应用示例。

C89中memcpy()函数原型如下:

void *memcpy (void *s1, const void *s2, size_t size);   

如果s1和s2所指向的对象重叠,其操作就是未定义的。memcpy()函数只能用于不重叠的对象。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值