一起创业网-为互联网创业者服务

c语言程序怎么传入参数

在C语言中,参数传递主要有两种方式:值传递和地址传递。

值传递

定义:将实际参数的值复制给形式参数。

特点:形式参数的改变不会影响到实际参数。

示例

```c

int add(int a, int b) {

return a + b;

}

int main() {

int result = add(3, 5);

printf("result = %d\n", result); // 输出 result = 8

return 0;

}

```

地址传递

定义:将实际参数的地址传递给形式参数。

特点:形式参数的改变会影响到实际参数。

示例

```c

void swap(int *a, int *b) {

int temp = *a;

*a = *b;

*b = temp;

}

int main() {

int x = 3, y = 5;

swap(&x, &y);

printf("x = %d, y = %d\n", x, y); // 输出 x = 5, y = 3

return 0;

}

```

此外,C语言还支持通过命令行参数传递参数给`main`函数。`main`函数的参数`argc`和`argv`分别表示参数的个数和指向字符指针的数组,每个字符指针指向一个参数字符串。

示例

```c

include

int main(int argc, char *argv[]) {

printf("参数个数: %d\n", argc);

printf("参数列表:\n");

for (int i = 0; i < argc; i++) {

printf("%s\n", argv[i]);

}

return 0;

}

```

运行上述代码时,可以通过以下命令行参数传递:

```sh

./a.out arg1 arg2 arg3

```

输出将会是:

```

参数个数: 4

参数列表:

./a.out

arg1

arg2

arg3

```

总结:

值传递:适用于传递简单数据类型,如整型、浮点型等。

地址传递:适用于需要修改实参或者传递大数据结构(如结构体)的情况。

命令行参数:通过`main`函数的`argc`和`argv`参数获取命令行传入的参数。