1, 一重指针
1.1 作函数参数用
可以传入,也可以传出
1.2 作函数返回值用
2. 二重指针
2.1 做二维数据使用
比如存一篇文章(多少行,多少列)
主要是存储两级数据
2.2 做函数参数
可以用来分配内存,然后记录在参数指向的位置.
#include <stdio.h>
#include <string.h>
//作为记录指针的更改使用, 比如分配内存
int ialloc (char **p, int size)
{
*p = (char *)malloc(size);
if (*p == NULL)
return 0;
return 1;
}
int main()
{
char *cp;
char *str = "Taoist is a great person";
int len;
if (ialloc((char **)&cp, 22))
{
memcpy(cp, str, len = strlen(str));
cp[len] = 0;
printf(cp);
}
}
2.3 做函数返回值
3. 三重指针
4. 函数指针
用于状态机使用