C语言 | 函数内修改数组值(指针的应用)

#define OK 1

int RetArr(ivs_sint32_t *a)
{
	a[0] = 2;
	a[1] = 3;
	return OK;
}

int main()
{
	int out_a[2] = { 0 };
	RetArr(out_a);
	for (int i = 0; i< 2; i++)
	{
		printf("%d \n",out_a[i]);
	}
    return 0;
}

如上述代码所示,首先数组out_a在栈上申请临时内存,并将数组地址插入函数RetArr,因为数组名就是指向数组的指针。而函数RetArr内用a[i]对数组进行修改,最终该修改可以影响函数外的数组值。因为a[i]*a(i)是一样的。

发布了233 篇原创文章 · 获赞 187 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/qiu931110/article/details/102135728
今日推荐