c语言知识点

  1. 数组名是地址常量;sizeof包括最后面的'\0',strlen不包括;
  2. 用字符串给数组赋值时,会自动在末尾添加上'\0'。
  3. printf是从右边向左边打印输出的
  4. 定义数组时,会初始化吗?(应该不会自动初始化)字符数组后面自动补上'\0'。'\0'对应的十进制是0.
  5. union,成员共用存储空间。
  6. 字节对齐的细节和编译器实现相关,但一般而言,满足三个准则: 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding); 3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节(trailing padding)。
  7. 字符串指针可以指向不同的字符串,但是不能通过它来修改字符串的值;而字符串数组不一样,可以修改字符串的值,因为发生了拷贝;
  8. 初始化值的个数可少于数组元素个数.当初始化值的个数少于数组元素个数时,前面的按序初始化相应值, 后面的初始化为0(全局或静态数组)或为不确定值(局部数组).
  9. static是比动态全局变量更小的作用域,可以用来降低模块的耦合(该变量只由单个函数或者单个文件访问);函数的静态变量,导致了该函数不可重入的,尽量不要用;可以用静态变量保存一个函数局部变量的指针;静态变量在未初始化时,自动赋值为0;static函数主要是只能在本文件内使用
  10. 全局变量是在函数的外部定义的,作用域为函数定义开始,到本文件结束;如果在其他文件要使用,在使用前声明加上extern;static函数是用哪个存储区?
  11. w, r, a, b, +, t是6种文件操作符,可以组合;char fgetc(File *pFile); fputc(字符,文件); fgets(str, n, fp); fputs(str, fp); fread(buffer, size, count, fp);  fwrite(buffer,size,count,fp);
  12. fscanf(文件指针,格式字符串,输入表列); fprintf(文件指针,格式字符串,输出表列);fseek(文件指针,位移量,起始点);
  13. ftell函数是用来获取文件的当前读写位置; 函数原型: long ftell(FILE *fp);得到流式文件的当前读写位置,其返回值是当前读写位置偏离文件头部的字节数;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值