1.什么是指针?
指针即内存单元的地址。
指针变量,是一个值为内存地址的变量(或数据对象)。
2.一个指针占用多少字节?
地址是内存单元的编号,即是要表示一个内存地址要用多少字节,
不同系统下,占用字节不同,32位占用4个字节。
3.与指针相关的运算符
地址运算符&:后跟变量名时,&给出该变量的地址。
地址运算符 *:后跟指针名或地址时,*给出指针所指向地址上的值。
4.如何声明一个指针?
int * pi ; //pi是指向 int 类型变量的指针
char * pc ; //pc是指向 char 类型变量的指针
5.指针常量和常量指针
指针常量 :int * const ptr;
该指针只能指向一个地址,可以改变指针指向的地址上的值。
常量指针:const int * ptr; 或 int const * ptr;
该指针可以指向的不同的地址,却无法改变指向的地址上的值。
指针加上const 限定符,通俗说就是阉割了指针部分的能力;
这类指针,要么只能指一个地方,要么指的地方的数据动不了,或者两者兼具。
6.指针和数组的关系
指针是地址,数组名是该数组首元素地址
即有 a[i] = *(a+i); 数组名作为指针是指针常量,不可递增。
7.函数指针
函数名就是函数的首地址,所以将函数作为函数参数的思路是将函数地址传入,
形参是一个指针类型的变量,形参的基类型为函数原型。
指针声明:https://blog.csdn.net/sagittarius_warrior/article/details/52449331