C++关于结构体数组的一个小问题

C \u7ed3\u6784\u4f53\u6570\u7ec4\u95ee\u9898

\u548c\u6570\u7ec4\u7684\u90a3\u4e2a\u89e3\u91ca\u4e00\u6837\uff0c\u5bf9\u7ed3\u6784\u4f53\u6765\u8bf4\uff0c\u628a\u7ed3\u6784\u4f53st[0]~st[MAXN-1]\u91cc\u7684\u5404\u6210\u5458\u90fd\u8d4b\u503c\u4e3a0

\u75286*sizeof(A) \u8bd5\u8bd5\u3002

数组的长度必须是常量,不能是变量,因为数组在编译的时候就需要确定空间的大小。
你可以使用 new 或者 malloc,
也可以使用STL的vector。
int i;
cin >> i;
Medal *med = new Medal[i];

C++用new就可以了,如下:
int i=0;
cin >>i;
med = new Medal[i];

哈哈,可能你上面已经定义了变量i了,你直接把这句去掉即可,如下:
cin >>i;
med = new Medal[i];

最关键的就这句med = new Medal[i];哈

这样写程序试试:
#include <iostream>
using namespace std ;

struct Medal
{
int order;
int gold;
int silver;
int copper;
int total;
};

int main()
{
int i=0;

cin >> i ;

Medal *med = new Medal[i] ;//定义指针,并分配空间

for( int j=0;j<i;j++ )
cin >> med[j].order ;
for( int j=0;j<i;j++ )
cout << med[j].order <<endl;

delete [] med; //释放指针
return 0;
}

  • 鍏充簬C鐨勭粨鏋鎸囬拡鍙橀噺鐨勫皬闂
    绛旓細鍙湁鍦ㄨ繖閲岀湡姝h繍琛屼簡閭d釜鍑芥暟锛屽墠闈㈢殑 void ave(st9ruct stu *ps){ int c=0,i;float ave,s=0;for(i=0;i<5;i++,ps++){ s+=ps->score;if(ps->score<60) c+=1;} printf("s=%f\n",s);ave=s/5;printf("average=%f\ncount=%d\n",ave,c);} 鍙槸鍦ㄥ0鏄庛傞櫎闈炰綘涓嶆兂璋冪敤...
  • C璇█鐨勪竴涓皬闂棰樸
    绛旓細int a(int p) 褰㈠弬鏄涓涓int鍨嬪彉閲忥紝鏄疄鍙傜殑鎷疯礉锛屼慨鏀筽鐨勫硷紝瀹炲弬涓嶄細琚慨鏀广傛寚閽堢粨鏋勮皟鐢ㄦ垚鍛樺彉閲忔椂鐢"->""="鏄祴鍊笺傛瘮濡傦紝鑷畾涔夌粨鏋勫涓 include <stdio.h> include <string.h> typedef struct _ABC { int a;int b;int c;}ABC;int main(){ ABC *abc, tabc;abc = &tabc;...
  • 鍏充簬缁撴瀯浣绫诲瀷鐨勫皬闂
    绛旓細杩欓噷鍙槸鑷畾涔缁撴瀯浣绫诲瀷锛屾病鏈夌粨鏋勪綋鍙橀噺銆倀ypedef鏄嚜瀹氫箟缁撴瀯浣撶被鍨嬪叧閿瓧锛孨EW鏄粨鏋勪綋绫诲瀷鑷畾涔夌殑鍒悕锛屼範鎯敤澶у啓琛ㄧず銆備綘鑻ユ兂瀹氫箟 缁撴瀯浣撳彉閲忥紝鍙互杩欐牱 NEW stu;
  • 涓涓叧浜庣粨鏋勪綋鎸囬拡鐨勫皬闂銆
    绛旓細鎴戠殑鐞嗚В鏄 L鎵鎸囩殑鏄疞inkList鐨勪綅鍧锛屽畠涓嶄竴瀹氬垰濂界瓑鏂肩涓涓 LNode锛岃繖鏄洜涓篖inkList涔熸槸涓缁撴瀯浣锛屽湪璁板繂浣撶殑鎺掑垪涓紝ElemType data 浼氭斁鍦ㄥ墠闈紝鎵浠*L 浼氭寚鍒扮涓涓猟ata瀛樻斁鐨勫湴鏂广傝屼綘鐨勭▼寮 free( )鏄娓呴櫎 LNode锛屽繀椤婚忚繃 p = (*L)->next 鎸囧悜 LNode鐨勮捣濮嬩綅鍧銆傘
  • 杩樻槸涓涓叧浜C++鐨勫皬闂~杩欐鍒嗗200
    绛旓細澹版槑缁撴瀯浣撶殑璇硶锛struct 鏍囪瘑绗 { 鎴愬憳 }锛涚粨鏋勪綋绠鍗曠偣璇村氨鏄妸閫昏緫鐩稿叧鐨勫涓彉閲忓悎鍦ㄤ竴璧凤紝姣斿 struct student { char name[50];int age;int gender;} 涓涓瀛︾敓鏈夋у悕锛屽勾榫勶紝鎬у埆锛屾妸杩欑粍鍚堝湪涓璧凤紝瀹屾暣鍦扮湅灏辨槸缁撴瀯浣撱傚浣曚娇鐢ㄧ粨鏋勪綋锛屼綘鑷繁鎼滀竴涓嬶紝鏌ヤ笅涔︺傚緢甯姪鐨勩傚洖绛斿畬浜嗭紝鍦...
  • 涓涓粨鏋勪綋灏绋嬪簭鎬庢牱杩愯鐨勯棶棰...
    绛旓細妤间笂姝hВ銆struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;a鏄釜鏁扮粍锛屽畠鏈3涓厓绱狅紝鍏朵腑姣忎釜鍏冪礌鎸囧悜涓涓粨鏋勪綋st锛宲鏄竴涓寚閽堬紝瀹冨皢鎸囧悜st绫诲瀷鐨勫厓绱犮俛[0]鍦ㄥ氨鏄寚鍚鏁扮粍鐨棣栧厓绱狅紝杩欐病浠涔堝ソ瑙i噴鐨勶紝鑰5灏辨槸璇ユ暟缁勭殑棣栧厓绱犮
  • 姹闂甤璇█绋嬪簭涓涓灏娈典笉鎳傛剰鎬,姹傝В閲
    绛旓細瀵箂tu鏁扮粍 鏍规嵁livenumber 鐨勫艰繘琛屾帓搴 鐢卞皬鍒板ぇ for(i=0;i<n-1;i++){ for(j=n-1;j>i;j--)杩欎釜鏄緢鍏稿瀷鐨勬帓搴忕畻娉 鑷充簬if閲岄潰鎵鏈変唬鐮 鍏跺疄灏辨槸浜ゆ崲stu[j] stu[j-1]鐨勫笺傚叾瀹 娌″繀瑕佽繖涔堥夯鐑︾殑銆傛妸if閲岄潰鎵鏈変唬鐮佹敼鎴 struct student t;t = stu[j];stu[j] = stu[j-1];s...
  • C璇█閾捐〃鐨勪竴涓皬闂棰
    绛旓細鍋囧浣犺寤虹珛鐨勭粨鏋勬槸杩欐牱鐨勶細typedef struct student { long num;char name;float score;}STDU;鐒跺悗鍛 鍦∕ain鍑芥暟閲 Main(){ int intsize=sizeof(STDU);涓嶆槸鏈塩alloc鍑芥暟鍚楋紵void p=calloc(n,intsize);/*杩欓噷n鏄鍒嗛厤鐨鏁扮粍鐨澶у皬*/ 杩欎笉灏辩浉褰撲簬鍒涘缓浜涓涓鏁扮粍鍚楋紵} 鎴栬呯洿鎺TDU a[n];...
  • 閭d綅楂樻墜鐪嬩笅杩欎釜鍏充簬C璇█鐨勯棶棰 灏忓瀷鍟嗗搧淇℃伅绠$悊绯荤粺 璁捐涓涓鍟嗗搧...
    绛旓細Student stu[80]; /*缁撴瀯浣撴暟缁鍙橀噺*/ int menu_select() /*鑿滃崟鍑芥暟*/ { char c;do{ system("cls"); /*杩愯鍓嶆竻灞*/ printf("\t\t***Students' Grade Management System***\n"); /*鑿滃崟閫夋嫨*/ printf("\t\t | 1. Input Records |\n");printf("\t\t | 2. Display All R...
  • C璇█缁撴瀯浣瀹氫箟
    绛旓細鍦ㄤ竴鑸儏鍐典笅锛宼ag銆乵ember-list銆乿ariable-list杩3閮ㄥ垎鑷冲皯瑕佸嚭鐜2涓缁撴瀯浣撶殑鎴愬憳鍙互鍖呭惈鍏朵粬缁撴瀯浣擄紝涔熷彲浠ュ寘鍚寚鍚戣嚜宸辩粨鏋勪綋绫诲瀷鐨勬寚閽堬紝鑰岄氬父杩欑鎸囬拡鐨勫簲鐢ㄦ槸涓轰簡瀹炵幇涓浜涙洿楂樼骇鐨勬暟鎹粨鏋勫閾捐〃鍜屾爲绛夈傚鏋滀袱涓粨鏋勪綋浜掔浉鍖呭惈锛屽垯闇瑕佸鍏朵腑涓涓粨鏋勪綋杩涜涓嶅畬鏁村0鏄庛
  • 扩展阅读:c++教程 ... c#考试题库 ... c++编程题经典100例 ... c++中的结构体 ... c++初始化结构体 ... c#面试常见问题 ... c++类 改结构体 ... c++结构体怎么用 ... c++结构体 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网