因此当我们想要在函数内修改指针的指向时,我们应该给函数传入二级指针.
3.调用函数更改数组和结构体成员
更改数组成员
如下代码,我们在主函数创建了一个5个成员的数组arr,并给其初始化为0.然后我们通过调用函数...;
}
在编译器中查看运行结果:
可以看到,test5函数成功修改了arr数组的成员值,但我们好像并没有传给函数arr数组的地址,为什么修改成功了呢?...这是因为在C语言中,数组名就是数组首元素的地址,因此我们看似给test5函数传入的是arr的名字,但实际上test5函数接收到的却是arr数组的地址,因此该函数同样可以写为:
void test5(...int* arr)
{
//修改arr数组成员的值
for (int i = 0; i < 5; i++)
{
*(arr+i) = i;
}
printf("调用函数时arr数组的成员...然后我们通过传址调用函数test6,在函数内部将stu的成员赋为"李四",30,1024.并在过程中打印出stu结构体的成员值:
typedef struct Student
{
char name