一、a++与++a
++a:表示先取 a 的内存地址,增加a在内存中的值,然后再把a值作为指令操作数拷贝到寄存器中;
a++:表示先取 a 的内存地址,把a值作为指令操作数拷贝到寄存器中,然后增加内存中 a 的值,意味着a的值需要在下一次对a进行寻址才可以体现+1;
二、sizeof与strlen
sizeof:为关键字,以字节形式输出操作数占用的存储空间大小;
sizeof指针,不管指针什么类型所占字节宽度与cpu数据总线所占字节数一致;
sizeof字符数组、字符数组名,为数组分配的元素个数;
sizeof整型数组为元素个数*整型数据类型的宽度;
sizeof字符串为字符串个数+1,包括'\0';
sizeof数据类型必须加括号,而sizeof变量不需加括号;
sizeof成员为空的结构体大小为1;
sizeof 结构体大小是将所有成员对齐后长度相加,而联合体(union)的 sizeof 取的是最大的成员变量长度;
strlen:为函数,从指定的内存地址开始,直到碰到第一个字符串结束符'\0'为止,然后返回元素个数,不包括