Hello,小伙伴们!Long time no see,有没有更期待柚子的更新(哈哈开玩笑啦)。今天我们一起来学习一个新知识点-----指针。
一、什么叫做指针?
要我说,指针就是地址( 指针 = 地址 ),严格的来说,指针是一个地址,是一个常量。
例如:
设有字符变量C,其内容为“K”,占用了001A号单元;设有指针变量p,内容为001A,这时我们称p指向变量C,或者说p是指向变量C的指针。指针变量可以赋值为不同的指针值,但常把指针变量简称为指针。为了避免混淆,我们约定:“ 指针 ”指的是地址,是常量,“ 指针变量 ”是指取值为地址的变量。定义指针的目的是为了通过指针访问内存单元。
二、声明指针变量
(1)指针类型说明,即定义变量为一个指针变量;
(2)给出指针变量名;
(3)变量值(指针)所指向的变量的数据类型。
int* p2; //p2指向整型变量的指针变量
float* p3; //p3指向浮点变量的指针变量
char* p4; //p4指向字符变量的指针变量
三、指针变量初始化
在C语言中,有如下两种符号与指针变量有关;
(1)&:取地址运算符
(2)* :指针运算符(或 “ 间接访问 ” 运算符)
在定义语句中,可以给部分指针变量赋初值。
int a;
int* P=&a;
四、指针变量的引用
在C语言中引用指针变量有多种方式,最常见的有下列三种。
(1)给指针变量赋值
指针变量=表达式;
此处的表达式必须是地址型表达式,例如:
int i,*p_i;
p_i=&i;
(2)直接引用变量名
int i,j,*p=&i,*q;
q=p; //将p的值(i的地址)赋给指针变量q
scanf("%d%d",q,&j); //使用指针变量接收数据
(3)通过指针变量引用它所指向的变量
int i=1,j=2,k,*p=&i;
k=*p+j; //由于p指向i,所以*p就是i,结果k就等于3
五、分清变量的指针和指针变量
①变量的指针就是变量的地址。
在C语言中,变量的指针是指向变量在内存中的地址的变量。指针可以用来访问和修改变量的值。
例如:定义一个整型变量a并初始化为10
int a = 10 ;
定义一个指向a的指针变量p
int* p ;
p = &a ; //将p指向a的地址
可以通过指针访问和修改变量的值
*p=20 ; //修改a的值为20
printf("%d",a) ; //输出20
②存放变量地址的变量是指针变量。(p就是一个变量名)
指针变量是一种特殊类型的变量,可以存储其他变量的地址。
通过使用指针变量,可以间接访问和修改变量的值。
上图:
这次就先分享到这儿,这一部分的内容有点多,我们由浅及深,毕竟一口吃不成一个胖子,如果觉得柚子总结的还可以的话,点赞+关注+留言,我都会看的哦!