C11新增的七个关键字开头是大写还是小写?还是都行?
更新日期:2024.04.18
这的确是c11增加的关键字,一定以下划线加大写字母开头
C99有如下
restrict inline _Complex _Imaginary _Bool
C11如下
_Alignas _Alignof _Atomic _Generic _Noreturn _Static_assert _Thread_local
为什么是这样书写的原因在于
C语言不同于Java等新生语言,
它并不能摒弃太多东西,而且要向前兼容
C语言编译器简单,没有名字空间
如果不算模糊而且不可靠的经典C标准(白皮书标准),那么以C89标准为例
C语言规定
以两个下划线开头的标识符被保留,程序员不应当使用
以一个下划线紧接一个大写字母开头的标识符被保留,程序员不应当使用
以一个下划线紧接一个小写字母开头的标识符被作为文件链接作用域保留,程序员不应当使用
还有已知库函数类型保留
(比如str加小写字母开头被<string.h>保留)
所以为了不和已知冲突,或者尽量减少,用了这个办法
而像restrict和inline有其英文含义,使用的人也较少,也是委员会折衷的考虑吧
莘纨水1304 :答:这的确是c11增加的关键字,一定以下划线加大写字母开头 C99有如下 restrict inline _Complex _Imaginary _Bool C11如下 _Alignas _Alignof _Atomic _Generic _Noreturn _Static_assert _Thread_local 为什么是这样书写的原因在...
莘纨水1304 :答:(1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int: 声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :...
莘纨水1304 :答:关键字是被系统定义过的,不能挪作他用.而预定义标识符有些是你只要不包含头文件,这个标识符就不会被定义,你就可以用作别的用处.如:sleep函数.这个函数你不包含头文件编译器会报错(至少vc++6.0是这样)这样你只需要定义...
莘纨水1304 :答:char :字符型类型数据,属于整型数据的一种 int :整型数据,通常为编译器指定的机器字长 float :单精度浮点型数据,属于浮点数据的一种 double :双精度浮点型数据,属于浮点数据的一种 B 类型修饰关键字(4个)short ...
莘纨水1304 :答:_Generic:提供重载的接口入口(C11标准新增)类型修饰关键字short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)long long:修饰int,超长整型数据,可省略被修饰的int。
莘纨水1304 :答:void main()表示函数无返回值,就是说在程序的结尾处不需要加上return 0。而return是在函数体中,用来返回特定值的。一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名,这个函数称为主函数,主...
莘纨水1304 :答:_Imaginary:虚数,与复数基本类型相似,没有实部的纯虚数(C99标准新增)_Generic:提供重载的接口入口(C11标准新增)类型修饰关键字short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)long:修饰int,长整型数据,可省略被修饰的int。
莘纨水1304 :答:Int是将一个数值向下取整为最接近的整数的函数。为取整函数。意思是将被转换数直接截取整数部分,不进行四舍五入运算。例如:int(123.456);//取值为123 int(-123.456);//取值为124 int(1234.56);//取值为1234 ...
莘纨水1304 :答:i];iMin = i;}if (a[i]>max){ max = a[i];iMax = i;} }printf("值最小的元素为: %d,其下标为: %d \n", min,iMin);printf("值最大的元素为: %d,其下标为: %d \n", max,iMax);} 测试结果:...
莘纨水1304 :答:c语言代码如下:include<stdio.h> int main(){double sum=0,x=1;while(sum<5){sum+=(1/x);x++;} printf("出满足不等式1+1/2+1/3+...+1/n≥5的最小n值为%.0lf\n",x-1);return 0;} ...