本實例演示結構體變量作為函數參數傳值時,函數內部修改不影響原變量。
student 包含 int x 和 char c。a,調用 f(a) 傳值。f 修改副本的成員,返回後主函數打印原變量,值不變。// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
struct student {
int x;
char c;
} a;
int main() {
a.x = 3;
a.c = 'a';
f(a);
printf("%d,%c", a.x, a.c);
}
f(struct student b) {
b.x = 20;
b.c = 'y';
}
3,a
C 語言函數參數默認傳值,結構體作為參數會整體複製。若需修改原值,應傳遞結構體指針。