c语言-C语言结构体数组在头文件里赋值的问题

问题描述

C语言结构体数组在头文件里赋值的问题


上面的赋值是写在一个头文件里的,用VS2008,或者VC++6.0调都会出现上面的错误,VS2013和DEV就不会报错。
完整代码是:
//头文件“信息.h”
struct students
{
long code;
char *name;
float score[3];
float sum;
};
void default_initiate(struct students stu[ ])
{
stu[0] = { 20140001, "陈龙", {50.0, 30.0, 89.0 }};
}

//main函数
int main( )
{
int a[2],c;
struct students class1[3];
default_initiate(class1);
return 0;
}
请问语法是哪里错了呢?一定要把给结构体数组赋初值放到main函数里面吗?
学生党一枚,请各位大大们帮忙!

解决方案

stu[0].code = 20140001;
stu[0].name = "xxx";
...

解决方案二:

应该是C++ 11的语法,VS2010+才开始支持。

解决方案三:

这种写法只能在定义的时候用

时间: 2025-01-15 19:00:38

c语言-C语言结构体数组在头文件里赋值的问题的相关文章

c语言编程-C语言关于使用结构体数组的问题

问题描述 C语言关于使用结构体数组的问题 #include struct Student { int mun; long char name[5]; int score[3]; struct Student *next; }; int main() { struct Student a,b,c,*head,*p; a.mun=10101;a.name="张丹";a.score[0]=89;a.score[1]=95;a.score[2]=91; b.mun=10103;a.name=&

图片-C语言,请教关于结构体数组的问题

问题描述 C语言,请教关于结构体数组的问题 图中倒数第二行 scanf("%d",&G[i]); 结构体VNode中有两类元素int data 和ArcNode *firstarc 为什么"&G[i]"就是给结构体VNode中的data赋值? 解决方案 &G[i]和&G[i].data的地址相同,有的编译器允许这样使用. 解决方案二: C语言结构体数组赋值问题IOS开发---C语言-?结构体数组C语言中的结构体数组 解决方案三: 我想

C++第2周项目3——用结构体数组作计算

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8635385 [项目3-用结构体数组作计算]接项目2,(1)从文件中读出数据,存放到你定义的结构体数组中,即项目2(1):(2)求出每名同学的总分(可以在读入过程中"顺便"计算):(3)按总分排序(降序):(4)输出排序后的成绩单:(5)有30名同学可

第17周报告1:结构体数组

任务:score.txt中是一些同学的学号.姓名.C++.高数.英语成绩,定义一个学生成绩的结构体数组,其中的成员包括学号(char num[12]).姓名(name).三门课的成绩(grade).总分(score)).建议将某些功能设计成自定义函数. (1)从文件中读出数据,存放到你定义的结构体数组中: (2)求出每名同学的总分(可以读入过程中"顺便"计算): (3)按总分排序(降序): (4)输出排序后的成绩单: (5)有30名同学可以获得奖学金,规则是总分高者优先,有挂科不能得奖

c语言-C语言typedef问题与结构体数组问题

问题描述 C语言typedef问题与结构体数组问题 typedef struct students{ long code; char *name; float score[3]; float sum;}cla[40];这样定义是什么意思呢?cla代替了struct students?正确的写法是怎么样的 解决方案 定义了一个班级类型,它代表40个学生,cla代替了students[40]以后可以定义变量cla cla1;cla1就是一个40个students组成的数组 语法上没问题,不过个人觉得

c语言-C语言结构体数组与顺序表的问题

问题描述 C语言结构体数组与顺序表的问题 #define DataType struct students cla[3] struct students { long code; char *name; float score[3]; float sum; }; typedef struct { DataType list[MaxSize]; int length; }SeqList; SeqList *t; 我要修改到list[0]里结构体数组cla[0]中的code元素,应该怎么写?? 下面

编程c语言-vs2013中如何定义一个结构体该结构体定义一个结构体数组 结构体数组中包含一个链表

问题描述 vs2013中如何定义一个结构体该结构体定义一个结构体数组 结构体数组中包含一个链表 这样定义对么 编译时报错 缺少:在*前面 这是哪错了啊 请高手指点指点 解决方案 你把两个结构体的定义调换一下次序就没问题啦,要先声明或定义结构体:Station,才能使用 解决方案二: 因为struct Station是在struct Train结构体之后才定义的,所以你要在这之前先声明一下struct Train 解决方案三: 做一个前向声明,或者调换两个结构位置都可以. 解决方案四: 结构体数组

C语言结构体数组同时赋值的另类用法

说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子: #include <stdio.h> struct student { int a; int b ; int c ; }; struct student array1[1000] ; int main(void) { int i ; for(i = 0 ; i < 1000 ; i++) { array[i].a = 1 ; array[i].b = 2 ; array[i].c = 3 ; } fo

c语言-C语言中如何删除TXT文件中特定的结构体数组

问题描述 C语言中如何删除TXT文件中特定的结构体数组 用 r 打开文本文件a, 用a打开文本文件b,(临时文件) for{ fprintf 将a文件的数据存入fp: 判断是不是符合要删除的数据: 如果不是,将fp数据存入文件b; } 用 W 打开文件a,用r打开文件b, for{ fprintf fscanf } 生成之后打开文本文件a数据只有原本的第一条,其他的都不见了 求教 C语言中如何删除TXT文件中特定的结构体数据 解决方案 http://zhidao.baidu.com/link?u