指针
作者:互联网
1.什么是指针:
指针是一个存储计算机内存地址的变量,即指针变量里面存放的是内存地址。
2.操作符:*和&
操作符*根据出现的位置不同,既可以用来声明一个指针变量,也可以用作指针的取值。当用在声明一个变量时,*表示这里声明了一个指针。其它情况用到*表示指针的取值。
&是地址操作符,用来引用一个内存地址。通过在变量名字前使用&操作符,我们可以得到该变量的内存地址。
3.指针的类型:
1)基本类型:int 、short、long、float 、double、char
如 int *p;//表示定义一个指针,这个指针指向整形变量,这个指针将存放的是整形变量的地址。
2)数组指针:指针指向一个数组
int (*a)[10];//表示指针指向一个int型的长度为10的数组。
3)函数指针:指针指向一个函数
void (*a)();//表示指针指向一个无参数无返回值的函数。
4.指针赋值:
赋值方式有两种
1)定义时赋初值:int a; int *p=&a
2)先定义,后赋初值:int a; int *p; p=&a
5.指针和数组的关系:
指针和数组关系密切,数组可以通过指针去引用,数组可以存放指针,数组也可以由指针去访问,指针也能存放数组的地址。
6.字符串与指针:
一个字符串常量不可以直接赋给一个数组,比如:char s[10]; s="hello";这种写法是错误的。
但是一个字符串却可以直接赋给一个指针:char *p; p="hello";这仅限于将一个字符串常量的地址赋给指针p,
但如果char s[10]; char *p=s; *p="hello";这就是非法的,这就相当于直接把字符串常量赋给一个数组,其实字符串常量赋给一个数组可以采用strcpy()函数。
标签:变量,int,char,数组,赋给,指针 来源: https://www.cnblogs.com/jimeirj/p/15582500.html