生存期 局部变量(非指针)函数结束自行销毁 指针delete后销毁
设置变量不要怕多 变量越多逻辑越好写(当然不要有两个变量可以通过数学关系相通) 有的时候某两个看似相同的变量是不可互相替代的 如正反面 和是否翻过
关于二维数组 次序数 和宽度(和坐标最大元素)既可以确定位置了
[30、41、61]—— 0 A a
数据在内存中是一个字节一个字节存储的。 整型数据: 0x154a2541() 小端存储顺序 低位存在低地址 41254a15 大端反的
0x25 0010 0101
+ - * /重载后优先级不变化
int* p = 0; p[1] 数组下标操作符也可以由p调用 单位是基类型长度
int a =200;
float b =0;
unsigned c = 0;
b = a;//此句进行了隐式转换(仅仅整型和浮点型之间转换会发生隐式转换) 。。。无误差做了隐式转换 产生误差需要强转否则报错
printf("%f",a);//不会做隐式转换 根据内存原样输出
c = a;//直接赋值 (仅仅整型和浮点型之间转换会发生隐式转换)
先根据结合性找到变量的类型 如果是指针接下去找基类型 如果是数组接下去找数组元素类型 如果是函数接下去找返回值类型.....
printf("%p")是输出变量的地址
%#x :16进制形式 %2d(右对齐):2表示数据域的输出宽度 %-2d(左对齐)0x%08x 指针数据域(16进制)
window中指针初始化为0 或NULL 作用相同,都使指针无效 仅仅因为window中将0x00000000地址定义为无效地址所以0和NULL相同了,不允许对他读写