您的位置:首页 > 编程语言 > C语言/C++

c语言知识点

2012-08-23 16:59 183 查看
数组名是地址常量;sizeof包括最后面的'\0',strlen不包括;
用字符串给数组赋值时,会自动在末尾添加上'\0'。
printf是从右边向左边打印输出的
定义数组时,会初始化吗?(应该不会自动初始化)字符数组后面自动补上'\0'。'\0'对应的十进制是0.
union,成员共用存储空间。
字节对齐的细节和编译器实现相关,但一般而言,满足三个准则: 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding); 3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节(trailing padding)。
字符串指针可以指向不同的字符串,但是不能通过它来修改字符串的值;而字符串数组不一样,可以修改字符串的值,因为发生了拷贝;
初始化值的个数可少于数组元素个数.当初始化值的个数少于数组元素个数时,前面的按序初始化相应值, 后面的初始化为0(全局或静态数组)或为不确定值(局部数组).
static是比动态全局变量更小的作用域,可以用来降低模块的耦合(该变量只由单个函数或者单个文件访问);函数的静态变量,导致了该函数不可重入的,尽量不要用;可以用静态变量保存一个函数局部变量的指针;静态变量在未初始化时,自动赋值为0;static函数主要是只能在本文件内使用
全局变量是在函数的外部定义的,作用域为函数定义开始,到本文件结束;如果在其他文件要使用,在使用前声明加上extern;static函数是用哪个存储区?
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);

fscanf(文件指针,格式字符串,输入表列); fprintf(文件指针,格式字符串,输出表列);fseek(文件指针,位移量,起始点);
ftell函数是用来获取文件的当前读写位置; 函数原型: long ftell(FILE *fp);得到流式文件的当前读写位置,其返回值是当前读写位置偏离文件头部的字节数;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: