交换swap
main
一格4字节
main():
m n
| 10 | 20 |
|
fun():
pa pb
| &m | &n |
|
temp=*pa => temp=10;
*pa=*pb =>对main()函数中的m,n进行操作。m=20;
*pb=temp =>n=10;
所以执行完fun后
m n
| 20 | 10 |
|
大小端
一个字节的数据不存在大小端
超过一字节
高位在高地址,低位在低地址,叫小端
低位在高地址,高位在低地址,叫大端
int a=0x12345678
小端:(Intel)
一格一字节
0x78 | 0x56 | 0x34 | 0x12 |
低 高
大端:(IBM小型机)
0x12 | 0x34 | 0x56 | 0x78 |
低 高
0x78存储解析,无论大小端
一格一bit
0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
低 高
int a=0x12345678
0x78 0x56 0x34 0x12
0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
低 高
const修饰变量,只读的变量,不能修改值。
const int a=10; a是只读变量,不是常量
int const *p=&a;表示*p(p所指向的内容)不可修改。
int * const p=&a;表示p不可修改。
const int * const p=&a;表示p和*p均不可修改。
NULL=(void*);