这是一篇从草稿箱扒拉出来的博客,因为觉得写的太少了,写的也不是很好所以没想发出来,绞尽脑汁写了一页感觉就写不太下去了,因为作者本人也没有搞很懂指针emmm
还是先放出来吧,以后再慢慢补充
指针变量
指针是编程语言中的一个对象,利用地址,值便直接指向存在电脑存储中另一个地方的值。
(指针是变量,变量存放地址,指针即为地址,存放在指针中的值都被当成地址)
简单来说
1.指针的变量就是保存地址的变量
int* p=&i
(表示p指向了i)
p的值就是变量i的地址
2.int* p,q与int *p,q类型一样,其中 *p表示指针变量,q为普通int变量(*加给了p而不是int)
访问那个地址上地变量*
- *是一个单目运算符,用来访问指针的值所表示的地址上的变量
- 可以做右值也可以做左值
- int k=*p
- *p=k+1
指针类型
指针和变量一样,有不同的类型
char* 类型的指针是为了存放 char 类型变量的地址。
short* 类型的指针是为了存放 short 类型变量的地址。
int* 类型的指针是为了存放 int 类型变量的地址。
指针类型决定了指针进行解引用操作的时候,能够访问空间的大小
int*p; *p可以访问4个字节
char*p; *p可以访问1个字节
double*p; *p可以访问8个字节
指针类型决定了指针走一步走多远(指针的步长)
int*p;p+1 4个字节
char*p; p+1 1个字节
double*p; p+1 8个字节