首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言實例練習

C語言練習實例87:結構體變量傳值調用示例

     編輯:C 語言實例練習

C語言練習實例87:結構體變量傳值調用示例

本實例演示結構體變量作為函數參數傳值時,函數內部修改不影響原變量。

程序分析

  • 定義結構體 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 語言函數參數默認傳值,結構體作為參數會整體複製。若需修改原值,應傳遞結構體指針。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved