1.大小端对位域的影响

struct bit

{

    int  a :3

  int  b :4

  int  c :5

}

 

这么定义代表a为字节的高位,但实际存储时,内存不一定先为a分配存储空间,具体的情况与大小端有关,若为大端,则分配内存的顺序与定义的顺序相同,若为小端,则分配的顺序与定义的顺序相反

 

2.位数少的整型可直接赋值给位数多的整型,位数多的整型对位数少的整型赋值时,系统自动截取位数多的变量的低位。

3.在GCC编译器下各个类型的全局变量的默认值:

 表示数字的变量类型默认值都为0

 bool型默认值为false

 string型默认值为空字符串

char 型比较特殊。char类型默认值为'\0', 即字符串结束标志,其整数值为0。如果用printf("%d")输出时值为 0, 但用printf("%c"),或cout 输出时显示为"a", char型数组默认值为空字符串,其中的每个元素与单个char类型相同,所以用puts() 和printf("%s") 输出都是空字符串。

 

4.vim里不支持for(int i-0;)这种格式的写法,应把i定义在for()循环外。

 

5.在存储变量空间大于行字节数时,会读入换行符,遇到换行符或者读入n-1个字节后不再读取,读取完毕后自动地给读入的字符串加上字符串结束标志。

6.使用scanf从键盘获取字符串时,若输入中有空格,则空格之后的数据会丢失,fgets不存在这种情况,scanf读入字符串之后也会为读取到的字符串加上\0

7.·一维数组名并不占用内存,但是形参数组名本质是一个指针变量,会占用内存,形参数组长度任意定义,实参数组长度可以是任意的,并不会为形参数组分配空间,不可以通过sizeof(a)来获得实参数组大小,a为形参数组名,要想获得实参数组大小,应另加参数说明

8.