总结指针

来源:互联网 发布:marry u软件 编辑:程序博客网 时间:2024/06/07 21:01

总结指针!

【菜鸟学习日记】

一级指针
二级指针
一维数组
二维数组
指针和数组的关系
指针数组
数组指针
函数指针


What is 指针?

官方解释……
简而言之,指针就是一个用来存放地址的变量。
属性:变量;
功能:存地址,通过地址能找到相应的内存空间及空间中存的相应东西(就跟根据门牌号找地方一样);

那为什么有指针呢?

1、 指针是存放地址才存在的,地址是为了标示一块地址空间的
2、 指针让地址有地方存,指针让内存的访问更加方便

那指针作为一个变量是否有类型呢?

当然是有的!

char* pc = NULL;
int* pi = NULL;
short* ps = NULL;
long* pl = NULL;
float* pf = NULL;
double* pd = NULL;
char* 类型的指针为了存放 char 类型变量的地址;
int* 类型的指针为了存放 int 类型变量的地址;
short* 类型的指针为了存放 short 类型变量的地址;
……
以此类推。

#include <stdio.h> int main() {     int num = 10;     char *pc = (char *)&num;     int *pi = &num; printf("%p\n", &num);     printf("%p\n", pc);     printf("%p\n", pc+1);     printf("%p\n", pi);     printf("%p\n", pi+1);     return  0; } 

指针的类型决定了指针向前或者向后走一步有多大。