什么是指针?
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:
int *p =&a;
在这里,int表示这个指针的基本类型,p是指针变量的名称。中间用星号连接,这个星号与数学中的乘法使用的星号一样。但在这个语句中星号是指定这个变量为指针。
以下是一些指针的推导过程 :
a->int &a ->int * //整形指针
d->double &d ->double* //double指针
e->short &e->short* //短整形指针
p->float &p->float* //浮点型指针
q->char &q->char* //字符型指针
如何使用指针?
使用指针时会需要这几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。这些是通过使用运算符 * 来返回位于操作数所指定地址的变量的值。下面的实例涉及到了这些操作:
例1.
int a=10;
int b=20;
int *p= &a;
*p=100; //a=100
p=&b;
*p=200; //b=200
c中的NULL
例2.
int main()
{
int a=10
int *p=&a;
p=NULL; //空指针,无效的指针
printf(“%d“\n,*p);程序崩溃
return 0;
}
笔记:
void Swap(int *p1,int *p2)
{
int * tmp; //野指针,悬挂指针:没有指向有效的地址
*tmp=*p1;
*p1=*p2;
*p2=*tmp;
}
父函数调用子函数:子函数能修父函数中的内容
前提:1.传指针
2.解应用