指针的含义
指针简单来讲就是某一参数的地址,而指针函数则是存放地址的变量
指针的定义
数据类型 * 变量名
int *p = &a;
*p = 100;
p 是一个指针变量,*用来获取指针指向的数据
a, &a, *p, p之间的关系
int a = 200;
int b = 300;
int *p = &a;
//定义指针变量时必须带*,给指针变量赋值时不能带*
p = &b;
printf("a = %d\n", a);
printf("&a = %p\n", &a);
printf("p = %p\n", p);
//printf("&p = %p\n", &p);
printf("*p = %d\n", *p);
//printf("%d\n", **p);a = 200
运行结果:
a = 200
&a = 000000000061FE14
p = 000000000061FE10
*p = 300
* 和 &的关系
当* 用于声明变量或者函数的时候,意为声明该变量或者函数为一个指针,其他场景* 意为对变量取值
当&符号和变量一起使用是,表示取内存地址
int a=12; int b; int *p; int **ptr;
p=&a
*p=24
ptr=&p
*ptr=&b。
**ptr=34
指针与函数的联系
可以把指针作为函数的形参。在函数调用语句中,可以用指针表达式来作为实参。例如
#include<stdio.h>
void huhuan(int*a,int*b)
{ int c;
c=*a;
*a=*b;
*b=c;
}
int main ()
{
int a=10,b=50;
huhuan (&a,&b);
printf("a=%d\nb=%d",a,b);
}