c语言函数之间传参示例
时间: 2023-06-12 17:02:25 浏览: 100
好的,下面是一个简单的示例:
```c
#include <stdio.h>
void swap(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int a = 10;
int b = 20;
printf("Before swap: a = %d, b = %d\n", a, b);
swap(&a, &b);
printf("After swap: a = %d, b = %d\n", a, b);
return 0;
}
```
这个示例中,我们定义了一个 `swap` 函数来交换两个整数的值。在 `main` 函数中定义了两个整数 `a` 和 `b`,然后调用 `swap` 函数,将它们的地址传递给 `swap` 函数。 `swap` 函数通过指针来交换 `a` 和 `b` 的值。在 `main` 函数中,我们可以看到 `a` 和 `b` 的值已经被交换了。
相关问题
c语言函数之间怎么传参,请举例
在C语言中,函数之间可以通过参数传递数据。具体方法是在函数调用时传递一个参数列表。例如,下面是一个函数调用的示例:
```
int add(int a, int b) {
return a + b;
}
int main() {
int sum = add(2, 3); // 传递参数2和3给add函数
return 0;
}
```
在这个示例中,函数add有两个参数a和b,用于执行加法操作并返回结果。在使用add函数时,将参数2和3传递给函数,然后将结果存储在sum变量中。这就是函数之间传递参数的基本方法。
c语言结构体指针传参
在C语言中,可以通过结构体指针来传递和操作结构体。结构体指针可以指向一个已定义的结构体变量,通过指针可以修改结构体的成员值,还可以将结构体指针作为参数传递给函数。
以下是一个示例代码,演示如何使用结构体指针进行参数传递:
```c
#include <stdio.h>
// 定义一个结构体
struct Point {
int x;
int y;
};
// 函数接受结构体指针作为参数,并修改结构体成员的值
void modifyPoint(struct Point* p) {
p->x = 10;
p->y = 20;
}
int main() {
struct Point p; // 定义一个结构体变量
struct Point* ptr = &p; // 定义一个指向结构体的指针,并将其指向结构体变量
// 通过指针访问和修改结构体成员的值
ptr->x = 5;
ptr->y = 15;
printf("Before modification: x = %d, y = %d\n", p.x, p.y);
// 调用函数传递结构体指针,并修改结构体成员的值
modifyPoint(ptr);
printf("After modification: x = %d, y = %d\n", p.x, p.y);
return 0;
}
```
运行以上代码,输出结果为:
```
Before modification: x = 5, y = 15
After modification: x = 10, y = 20
```
在上面的示例中,我们定义了一个结构体`Point`,有两个整型成员`x`和`y`。在`main`函数中,我们创建了一个结构体变量`p`,并通过指针`ptr`将其地址赋值给指针。然后我们通过指针访问和修改结构体成员的值。接下来,我们调用函数`modifyPoint`,将结构体指针作为参数传递,并在函数中修改结构体成员的值。最后,我们输出修改后的结构体成员值,可以看到结构体的成员已经被成功修改。
阅读全文