C语言中*与&的用法与区别

本文深入探讨了C语言中指针的基本概念及其使用场景,特别是如何通过传入变量地址来改变其值。通过一个具体示例,解释了在函数中如何使用指针来修改传入参数的值,展示了指针在C语言编程中的强大功能。

c中定义一个(int a)变量具有二义性,本质上是分配一个地址空间,在里面存了一个值。
为了避免歧义,c规定了a是值,&a是地址空间。

指针指向一个地址。
这里*a代表指向的那个地址里存的值,a是指向的那个地址。

void tes(int *i){
	*i=2;
}
int main(int argc, char *argv[]){
	int a=4;
	int* s = &a;
	tes(s);
	printf("%d\n",*s);
	printf("%d\n",s);
}

上面代码通过传入地址改变传入的值,输出*s为2,s为地址。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值