C语言的冷知识
1、数组下表
arrayName[index] 可以写成 index[arrayNane]
例:#include <stdio.h>
int main(void)
{int arr[5]={1,2,3,4,5};
printf("%d\n",2[arr]);
return 0;} //输出结果:3
2、符号替换
早期IBM在计算机产业中的地位非常重要,但是它的键盘没有中括号和大括号按键,所以在C语言中可以使用其它的组合符号来替代,并且一直保留到现在。
可以使用 <: 和 :> 来代替 [ 和 ] ,使用 <% 和 >% 来替换 { 和 }。
3、趋近运算符
C语言中有一种趋近运算符,写作 --> 或者 <--,可以让一个变量的值逐渐趋近于某个数字。
输出结果是:10,9,8,7,6,5,4,3,2,1
其实 <-- 就是小于运算符 < 和自减运算符 -- ,因为 -- 的优先级大于 < ,所以先执行 -- ,再执行 <
所以示例里面先 --x,再与 0 进行比较。
4、字符串拼接
将2个由 “ ” 包围的字符串放在一起,它们会自动拼接成一个字符串。
输出结果:C C++Python
注:
5、long不一定比int长
C语言有三种基本的整数类型,分别是short、int、long,其实后者的长度不一定比前者大
C语言中没有严格规定short、int、long的长度,只做了宽泛的限制:
所以它们的关系是:2≤ short ≤ int ≤ long
在16位环境下,short的长度为2个字节,int也为2个字节,long为4个字节。
对于32位的windows、Linux和Mac OS,short的长度为2个字节,int为4个字节,long也为4个字节。
在64位环境下,不同的操作系统会有不同的结果
所以在移植的时候要注意long所占的字节长度。
6、1字节不一定等于8位
C语言标准里面并没有规定1字节等于8位。只是规定一个字节必须能够以正数的方式容纳整个ASCII编码表,但具体实现还要依赖编译器。所以可以通过CHAR_BIT这个宏来获取当前编译环境下的字节长度。