1、break只能跳出本层循环,如果循环是嵌套的,要逐层跳出,想要全部跳出可以用return。
2、continue是跳过当前循环中continue语句后的语句,进行下一次循环条件的判断。
3、int (*a)[10]:a是一个指针,指向的类型是int [10]
int a[10]: 数组符号比指针符号优先级高,a是一个数组,该数组的元素是int类型
int (a[10])(int) a是一个数组,数组元素是int()(int)类型,即是指向函数的指针
4、*p++
先取值,再加1
5、计算类型大小
char a[10] = {0};
void test_type_size(void)
{
a[0] = sizeof(long int);
a[1] = sizeof(int);
a[2] = sizeof(short int);
}
在32位单片机中,结果如下图所示:
6、union联合体内所有成员共享内存,内存大小以最大成员为准。
union test
{
long a;
int b[5];
char c;
};
union test d;
char j = sizeof(d);
在32位单片机上仿真结果是20字节,编译器是IAR