怎么给指针结构体数组赋值

ventlibre ventlibre 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <stdio.h>
#define N 27
#include <stdlib.h>



struct Donnees1{
char car;
float proba;

}Donnees[N];
typedef struct Donnees1 Donnees1;
char car1[]=" abcdefghijklmnopqrstuvwxyz";
;
float proba1[]={0.1834,0.0640,0.0064,0.0259,0.0260,0.1486,0.0078,0.0083,0.0061,0.0591,0.0023,0.0001,0.0465,0.0245,0.0623,0.0459,0.0256,0.0081,
0.0555,0.0697,0.0572,0.0506,0.0100,0.0001,0.0031,0.0021,0.0008};

void Donnees2(char car1[],float proba1[],Donnees1 *Donnees3){

int i;
for(i=0;i<N;i++){
Donnees3[i].car=car1[i];
Donnees3[i].proba=proba1[i];
}

}


struct arb{

struct arb *FG;
struct arb *FD;
char Etiquette;
float Poids;
};
typedef struct arb arb1;



struct foret{
arb1 *arb[N];
int nb;
};

typedef struct foret F1;

F1 F;


F1 initialiserforet(F1 F ,Donnees1 *Donnees){
int i;
for(i=0;i<27;i++){
F.arb[i]=(arb1 *)malloc(sizeof(arb1));

F.arb[i]->FG=NULL;
F.arb[i]->FD=NULL;
F.arb[i]->Etiquette=Donnees[i].car;
F.arb[i]->Poids=Donnees[i].proba;
}
return F;
}



int main(){

Donnees2(car1,proba1,Donnees);
int i;
for(i=0;i<N;i++){
printf("%c %f\n",Donnees[i].car,Donnees[i].proba);

}

initialiserforet(F,Donnees);


for(i=0;i<N;i++){
printf("%c %f\n",F.arb[i]->Etiquette,F.arb[i]->Poids);

};





return 0;
}





首先我给结构体数组Donnees 赋值 然后我想把Donnees 里面的数值赋值给指针结构体数组F.arb[N] 但是我运行不起来请问 我错在哪了 谢谢大家了先



...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
ventlibre
数据结构与算法 33,027 成员 35,334 内容