计算机基础:
1.组成:CPU,存储,I/O
2.CPU执行指令
3.程序:就是有限指令的集合(外存中)
进程:正在运行的程序,(CPU会通过文件系统去将外存中的程序加载到内存并分为空间存储单元)
1.最小的存储单元 bit 存放(0/1)
2.计算机的存储基本单元:byte (每次一次性取出的宽度)
3.其他单位: KB=1024Byte=2^10Byte
1MB=1024KB=2^10KB=2^20Byte=2^23bit
1GB=1024MB=2^10MB
注:8GB=1024*8MB=2^13MB=2^23KB=2^33Byte
4.物理地址:内存条上连续的编号
5.指针:就是地址。
6.变量:
整型变量 int a=3; 专门存放整形的值
指针变量: 专门存放指针的变量
定义: 类型* 变量名;
引用指针变量:引用内容(引用指针内容的长度取决于指针的类型)
注:所有的指针变量都是4Byte
7.通过指针修改空间的内容 *pb=100;
8.空指针 NULL
9.指针的运算 + - 注:指针指向的元素地址
int* pa;
pa+n==pa+sizeof(int)*n 指针是指向的元素的地址, p+n代表是向后移动4个元素
10.数组与指针:
指针与数组的关系:
#include<stdio.h>
void main()
{
int a;
int* pa=&a; //定义指针变量 pa
printf("%d\n",*pa);
int buf[10]={1,2,5,4,8,9,4,5,7,8};
int* p=buf; //定义数组的指针变量 因为buf就是首地址
printf("%d\n",*(p+2)); 、// 利用指针变量来取数组中的元素
}
定义数组: 类型 数组名【长度】
概念:连续且同类型的存储空间
数组名:就是次数组空间的首地址。
运算符
1.取变量地址 : &变量。
2.引用地址的内容 *指针