- 博客(3)
- 收藏
- 关注
原创 sizeof()的结构体大小判断的简单方法
struct { char a; char b; int c; }A; sizeof(A) = 8;原因:空间对齐,a占一个字节,b占一个字节,c占四个字节,为了空间对齐,a占一个字节,b占3个字节(补了两个字节的空间),c占4个字节,这样子就对齐了。struct { char a1; int b1; char c1; }B; sizeof(B) = 12; 原
2016-10-26 15:36:59
256
转载 ++i *=i与 i++*= i
基本知识: 1. ++高于*=的优先级 2. 左值、右值:在“=”左边的叫左值,在“=”右边的叫右值。 左值可以被改变,它是存储数据值的那块内存的地址,也称为变量的地址。 右值是指存储在某内存地址中的数据,也称为变量的数据。 左值可以作为右值,右值不能作为左值。 3. i++不能当左值使用,++i可以当左值使用 ++i表示取i的地址,再对其内容+1,然后在把值放到寄存器中;
2016-10-23 21:51:40
456
原创 i+++i的解释及i+++++i的语法错误
知识点: 1.++、--只能用于变量,不能用于常量或表达式 2.贪心法 i+++i 相当于(i++)+i; i+++++i的意思其实是((i++)++)+i;这是由贪心法导致的,而由上述第1点导致此语法错误,编译不通过。
2016-10-23 21:24:03
2311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人