杂乱的C语言知识

杂乱的C语言知识




  1. char在arm-linux-gcc为unsigned char,而在x86为signed char
  2. c语言输入函数scanf要求输入的内容要与scanf函数的参数一致
  3. sizeof()是一个运算符,不是函数
  4. 一个算法得有零个或多个输入,一个或多个输出,有穷性,确定性,可行性
  5. 在结构体的最后一个成员后面加入char data[0],不占用结构体的空间,但是在需要的时候可以动态的分配空间
  6. a=1,b=2 则 a|b=3 (按位或)
  7. 结构体只在定义的时候才分配内存,定义后的结构体变量才有实际的内存空间
  8. 当需要访问的数组较大时,系统会按行的顺序分配内存,所以访问数组元素时,按行访问会比较快,按列访问会比较慢
  9. c语言中外部变量和局部变量同名时,局部变量优先。但在c++中,外部变量和局部变量同名时,可以通过::来访问外部变量
  10. 在函数的形参中a[]会退化成指针,和*a是等价的
  11. 在free()之后,指针的值不会变,但指针变成了野指针,任何对野指针的操作都是不安全的
  12. 在C++中,成员函数可以返回一个值。有时候,如果你不希望这个返回值被修改,你可以将返回值声明为 const 类型。这样做的原因是,返回一个 const 值意味着该值不能被修改,从而保护数据的完整性。
  13. 全局变量在声明时已经分配了内存,局部变量在函数调用时才分配内存
  14. return *this返回的是当前对象的克隆或者本身,return this返回当前对象的地址
  15. p为指针变量,p=NULL和p=0,p=’\0’是等价的
  16. for中第一个参数是初始化,第二个参数是条件,第三个参数是增量,第一个参数只在for循环开始时执行一次
  17. 类的所有成员共享一个静态成员。静态类数据成员必须在类的内部声明,在类的外部初始化。在访问静态成员时,可以通过对象访问,也可以通过类访问。通过this指针访问的数据成员和方法成员都必须是类的非静态成员。
  18. scanf不能指定输入精度,可以指定长度
  19. 函数参数的入栈顺序是从右到左,但栈的入栈方向是从高地址到低地址,即栈的顶部是低地址,栈的底部是高地址。最右边的参数在栈中的地址最高
  20. 只能使用成员函数重载的运算符有:=、()、[]、->、new、delete。其他运算符能通过成员函数或友元函数重载
  21. c中实数常数的科学表示法格式为:实数部分(实数)E指数部分(整数),且不能忽略
  22. #include命令的功能是在命令处插入一个文本文件(.h和.txt的编码方式是一样的)
  23. 在fork外面进行循环时,进程会以2的n次方的速度增长
  24. c语言中最简单的类型是整型,浮点型和字符型
  25. 预处理的作用是在编译之前对源程序进行处理,包括宏定义,文件包含,条件编译等
  26. 逗号表达式会计算所有表达式的值,但只返回最后一个表达式的值
  27. printf函数的表达式中是从右向左计算的,且计算完后才会输出
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2020-2024 nakano-mahiro
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信