关于指针

指针其实也很容易理解,只要记住两句话

1.指针是指针变量的简称,所以它和其它类型的变量没什么不同,只是存储的内容是地址罢了。

2.指针变量也叫做地址变量。

关于指针的操作

1.指针变量的声明:

eg:1."char* c"表示声明一个字符类型的一个指针变量c,内存空间c里面存储的内容是字符指针;
2."int* d"表示声明一个整数类型的一个指针变量d,内存空间d里面存储的内容是整数指针;
3."int* data[10]"表示声明一个整数类型的一个指针数组data,内存空间data数组里面存储的内容是十个整数型指针;
4."int** d"表示申明的是一个整数类型的指针变量的指针,d指向的是一个指针变量的地址;eg:

include <stdio.h>

int main()
{
char c='t';
char* p=&c;
char** pp=&p;
printf("%d %d %d %c %c %c",&c,&p,&pp,c,*p,**pp);
return 0;
}

2.指针赋值与去指针所指地址的内容

"&"是一个取地址符,""是一个读取指针变量所存储地址空间内存储内容的操作符;
eg:char c='c';char
cp=&c;//把变量c的地址赋值给指针变量cp;然后通过访问*cp就可以间接访问到变量c的内容了;
char c='c';char cp=&c;printf("%c %c",c,cp);//不出意外的话两个输出应该是一样的。

3.静态申请的数组空间的数组名是一个地址,但是他不是指针,因为它不可变

原文地址:https://www.cnblogs.com/sunhere/p/8978902.html