在求解这个问题上,老师给的方法为扫描法,自己脑子没转过来,用的法二,容易产生越界风险。
内存对齐,所占空间为16位 12位
看操作系统的位数,32位为4字节对齐。64位为8字节对齐。
后者若是double类型,前者必须为8的倍数才可以。
法一 字节空间的拷贝法
法二 传地址。主函数输入的Get这个不用返回,直接就是写到结构体中。
结构体的接收,最后边的getchar()用来接受\n,或者前边的第一个字符串用scanf接收的话,后边的第二行%c之前需要有一个空格,保证不会接收到\n。***接收不要加其他无关话术。***
结构体数组的输入形式有三种。
结构体的初始化表示。
共用体测试大小端。 int类型测试 用char类型 不然返回全部数据。左边用共用体测试,里边的空间共享,用int填入数据,char测试,后边如果数据填入低地址位,就是小端。
枚举类型。day直接就是输入的数字就可以。
&按位与。 |按位或11
^异或 10 ~按位取反 -10
<<左移(没有数据损失的情况下,就是放大) >>右移(缩小)
操作寄存器控制电路,LED灯,置1或0)
异或可以实现两个数的交换。不使用第三方变量。实现流程如下。
运算符的优先级