按值传递(按副本传递):
给函数传递变元(参数)时,变元(参数)不会直接传递给函数,二十先制作变元(参数)值的副本,存储在栈上,再使这个副本可用于函数,而不是使用初始值。
例如:
#include<stdio.h> void change(int); int main() { int num = 9; change(num); //将num = 9的值复制一份给change中的变量, printf("num = %d\n",num);//change中的值为副本, return 0; //main函数中的num不随change函数中的num的改变而变 } void change(int num) { num++; }
运行结果:
num = 9
引用传递:
指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数
#include<stdio.h> void change(int *); int main() { int num = 9; change( &num ); //传num的地址 printf("num = %d\n",num); return 0; } void change(int * num) //指针型变量,存放的是main函数中整型变量num的地址 { *num += 1; //*表示取地址,取这个地址的值,指向num的值,然后对它执行加一的操作 }
数组作为函数参数:
原文地址:https://www.cnblogs.com/18191xq/p/11774335.html
时间: 2024-11-07 15:47:27