1. argv 最后一个元素是空指针! 比如ls -l remind 分别是argv[0] argv[1] argv[2] argv[3]为空指针
2. strcpy(char *s1,const char *s2)将s2中的字符复制到s1中直到s2遇到第一个空字符为止,并且s2的结束字符也复制进去了!!!
3. char 分为unsigned 无符号与有符号,int 4 float 4 double 8 short 2
4.
struct {
int i;
char c;
enum suit{one,two,three,five,aaa};//这里定义了变量‘;’前面加上a
char cc;
}node;
其中枚举是不占空间的,这里有没有枚举sizeof(node)结果都是8,但是如果enum定义了变量a,那么将增加8字节
但是单独sizeof(suit)的结果是4;
如果是联合union,那么要算联合里面单个最大字节的那个;如果第一次给它赋值后再给它赋值,那么先前的值就不存在了!比如union里面有int,float,double,给double,然后给int,那么double就不存在了,输出不确定的值。
5.以防包含重复的头文件,还可以用#pragma + 命令 表示只执行一次
#ifndef _MAIN_
#define _MAIN_
#endif
6.函数指针
int (*funArr[10])(float, char, char)
int result2 =(*funArr[0]) (12, 'a', 'b')
这是定义一个数组10个成员,每个成员是一个函数指针,参数为float,char,char,返回为int
7.对于整数数组可以通过sizeof(arr)/sizeof(int)来计算个数,字符串直接判断结尾字符即可
8.0的ASCII对应的是48,A对应的是65,a对应的是97,这个要牢记
9.局部变量与全局变量,局部变量所在的范围内会覆盖全局变量
10.cin使用空白来定字符串的界(空格,制表符,换行符),也就是只会读取第一个单词,遇到空白就结束。所以需要使用面向行的类成员函数,getline(),里面参数是数组名,数组长度。通过回车符判断输入结束。
11.结构中的位字段
struct {
unsigned int age:4; //低4位
unsigned int in:4; //接着4位
bool ismax:1;
};
这样可以节约空间。
12.指针一定要在解引用之前给一个确定的地址。
13.引用本身不占空间
这些慢慢总结!马上要笔试了,下次接着写!(笔试高德)