C语言中的指针还傻傻分不清楚?一文教你读懂C语言中的指针

本文详细介绍了C语言中的指针概念,包括指针变量的定义、操作、作为函数参数的使用,以及指针在数组、字符串、多维数组、函数指针和动态内存分配中的应用。通过实例解析,帮助读者彻底掌握指针的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.指针是什么?

在内存单元中,我们可以通过一个地址找到一个变量,一个变量的地址就叫做该变量的“指针”。如果定义一个变量,该变量专门用来存放另一个变量的地址,则称它为指针变量。
指针变量的值(即指针变量中存放的值)是地址(即指针)。

2.怎样定义指针变量

int *p;

(1)指针变量是p,而不是*p,前面的*只是用来表示该变量为指针变量。
(2)在定义指针变量时必须制定基类型,即int。

3.怎样操作指针变量

一般对指针变量的操作有两种(1)给指针变量赋值;(2)访问指针变量所指向的对象
给指针变量赋值:使用取地址符&,例如

int *p;
int a=1;
p=&a;

访问指针变量所指向的对象:使用“间接访问”符 *号

printf(“%d”,*p);

4.指针变量作为函数参数

以下面的函数为例:

void swap(int *p1,int *p2)//swap函数的形参为两个指针变量
{
int temp;
temp = *p1;
*p1=*p2;
*p2=temp;
}
int main()
{
int a=1,b=2;
int *point1,*point2;
point1=&a;point2=&b;
swap(point1,point2);//调用时需要注意形参的类型
}

注意:不能通过企图改变指针形参的值而使指针实参的值改变
将swap函数改成如下形式

void swap(int *p1,int *p2)
{
int  *temp;
temp = p1;
p1=p2;
p2=temp;
}

C语言中实参变量与形参

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值