c语言中指针基础(大一上 第一部分)

本文深入解析了指针的概念及使用方法,并通过实例对比展示了如何利用指针实现变量值的正确交换,揭示了指针操作中的常见误区。

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

我们都知道一个变量的声明就是在内存中开辟了一个空间,这个空间里面来存放这个变量的值。我们平常所说的指针其实就是指针变量,指针变量里面存放的是一个变量的地址,*是取值运算符,通过*+指针变量就可以将指针所指向的地址即空间中的值取出。

下面来说如何创建一个指针:数据类型+*+指针变量名;数据类型其实也在暗指了指针变量的大小,即在内存中占多大的内存。

对指针变量经行赋值时要将地址赋给指针变量:

eg:int a = 3;

        int* b;

        b=&a;(&是取地址运算符,作用在于取出变量的地址,可以参考scanf函数)

 

看俩个例子:

 我这边的意图在于通过指针将a,b俩个值进行互换,可是却失败。

 而这边成功地将a,b的值经行了互换。

我们来仔细地看一下这俩个区别:

第一张图片,实际上是将a,b俩个的地址值经行了互换,但是对应a所在空间中的值并没有发生改变,即空间中仍然存放的是1,b空间中仍然存放的是2; 

而第二张,是将a所在空间中的值经行了改变与b发生调换,所以a与b的值就经行了互换。

综上:通熟地来讲,变量就是地址值加上空间中的值,地址值只是为了方便我们能够通过指针找到它,而其值需要将空间里面的那个值改变。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值