程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話 構造體數組詳解及示例代碼

C說話 構造體數組詳解及示例代碼

編輯:關於C++

C說話 構造體數組詳解及示例代碼。本站提示廣大學習愛好者:(C說話 構造體數組詳解及示例代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話 構造體數組詳解及示例代碼正文


所謂構造體數組,是指數組中的每一個元素都是一個構造體。在現實運用中,構造體數組常被用來表現一個具有雷同數據構造的群體,好比一個班的先生、一個車間的職工等。

界說構造體數組和界說構造體變量的方法相似,請看上面的例子:

struct stu{
  char *name; //姓名
  int num; //學號
  int age; //年紀
  char group; //地點小組 
  float score; //成就
}class[5];

表現一個班級有5個先生。

構造體數組在界說的同時也能夠初始化,例如:

struct stu{
  char *name; //姓名
  int num; //學號
  int age; //年紀
  char group; //地點小組 
  float score; //成就
}class[5] = {
  {"Li ping", 5, 18, 'C', 145.0},
  {"Zhang ping", 4, 19, 'A', 130.5},
  {"He fang", 1, 18, 'A', 148.5},
  {"Cheng ling", 2, 17, 'F', 139.0},
  {"Wang ming", 3, 17, 'B', 144.5}
};

當對數組中全體元素賦值時,也可不給出數組長度,例如:

struct stu{
  char *name; //姓名
  int num; //學號
  int age; //年紀
  char group; //地點小組 
  float score; //成就
}class[] = {
  {"Li ping", 5, 18, 'C', 145.0},
  {"Zhang ping", 4, 19, 'A', 130.5},
  {"He fang", 1, 18, 'A', 148.5},
  {"Cheng ling", 2, 17, 'F', 139.0},
  {"Wang ming", 3, 17, 'B', 144.5}
};

構造體數組的應用也很簡略,例如,獲得 Wang ming 的成就:

class[4].score;

修正 Li ping 的進修小組:

class[0].group = 'B';

【示例】盤算全班先生的總成就、均勻成就和和 140 分以下的人數。

#include <stdio.h>
struct{
  char *name; //姓名
  int num; //學號
  int age; //年紀
  char group; //地點小組
  float score; //成就
}class[] = {
  {"Li ping", 5, 18, 'C', 145.0},
  {"Zhang ping", 4, 19, 'A', 130.5},
  {"He fang", 1, 18, 'A', 148.5},
  {"Cheng ling", 2, 17, 'F', 139.0},
  {"Wang ming", 3, 17, 'B', 144.5}
};
int main(){
  int i, num_140 = 0;
  float average, sum = 0;
  for(i=0; i<5; i++){
    sum += class[i].score;
    if(class[i].score < 140) num_140++;
  }
  printf("sum=%.2f\naverage=%.2f\nnum_140=%d\n", sum, sum/5, num_140);
  return 0;
}

運轉成果:

sum=707.50
average=141.50
num_140=2

以上就是對C說話構造體數組的材料整頓,後續持續彌補相干材料,感謝年夜家對本站的支撐!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved