C中值传递与地址传递

#include <stdio.h>


void print(int a)
{
	(a)++;
	printf("a=%d\n",a);
}

int main(void)
{
	int b = 6;
	print(b);
	printf("%d\n" ,b);
	return 1;
}

//这种情况下就属于值传递,因为作用域和内存模型的原因,生命周期消亡,数据消失,故最后数据不变。
#include <stdio.h>


void print(int * a)
{
	(*a)++;
	printf("a=%d\n",*a);
}

int main(void)
{
	int b = 6;
	print(&b);
	printf("%d\n" ,b);
	return 1;
}

//这种情况下属于地址传递,地址传递会改变值。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券