函数参数的传递方式
根据实参传递给形参值的不同,通常有值传递方式和地址传递方式两种。
值传递方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;
调用结束,形参单元被释放,实参单元仍保留并维持原值
特点:
①形参与实参占用不同的内存单元
②单向传递 实参 -> 形参
#include <stdio.h>
void swap(int a, int b);
void main()
{
int x = 7, y = 11;
printf("before swapped : ");
printf("x=%d, y=%d \n", x, y);
swap(x, y);
printf("after swapped : ");
printf("x=%d,y=%d\n", x, y);
}
void swap(int a, int b)
{
int temp;
temp = a;
a = b;
b = temp;
}
\\\\\\\\\\--^***分割线***^--//
#include <stdio.h>
void mergestr(char s1[], char s2[], char s3[]);
void main()
{
char str1[] = {"Hello "};
char str2[] = {"China!"};
char str3[40];
mergestr(str1, str2, str3);
printf("%s\n", str3);
}
void mergestr(char s1[], char s2[], char s3[])
{
int i, j;
for(i = 0; s1[i] != '\0',;i++)
s3[i] = s1[i];
for(j = 0; s2[j] != '\0'; j++ )
s3[i+j] = s2[j];
s3[i+j] = '\0';
}