首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

几个特别容易混淆的有关问题,大侠帮忙

2012-02-20 
几个特别容易混淆的问题,大侠帮忙小弟刚刚学c语言,在最近code时候遇到几个问题弄了两天都解决不了,实在郁

几个特别容易混淆的问题,大侠帮忙
小弟刚刚学c语言,在最近code时候遇到几个问题弄了两天都解决不了,实在郁闷,希望大侠帮忙:
#include   <stdio.h>
#define   DATATYPE1   int  
#define   MAXSIZE   100


typedef   struct
{
    DATATYPE1   datas[MAXSIZE];
    int   last;
}SEQUENLIST;

main()
{        
    SEQUENLIST   squn1;
    squn1.datas[MAXSIZE]={0,1,2,3,4};//为什么这样写不可以
     
}

这段代码中squn1.datas这样赋值为什么不可以啊,我看教科书上面也是这样的啊,我这样赋值后总是会出现如下错误
D:\vc\MSDev98\MyProjects\chapter2\sequenlist.cpp(58)   :   error   C2059:   syntax   error   :   '{ '
D:\vc\MSDev98\MyProjects\chapter2\sequenlist.cpp(58)   :   error   C2143:   syntax   error   :   missing   '; '   before   '{ '
D:\vc\MSDev98\MyProjects\chapter2\sequenlist.cpp(58)   :   error   C2143:   syntax   error   :   missing   '; '   before   '} '
D:\vc\MSDev98\MyProjects\chapter2\sequenlist.cpp(76)   :   warning   C4508:   'main '   :   function   should   return   a   value;   'void '   return   type   assumed
执行   cl.exe   时出错.

然而我改成squn1.datas[0]=0;这样单个元素单个元素赋值就可以了,同样是赋值为什么一种可以一种不可以啊,希望大侠帮忙




[解决办法]
squn1.datas[MAXSIZE]={0,1,2,3,4};//为什么这样写不可以

对数组用{...}赋值,只有定义时可以,以后赋值时只能一个一个的赋值了。
[解决办法]
初始化时才可以写成int a[6]={0,1,2,3,4};
一般的赋值只能写成a[0]=0,a[1]=1,......

热点排行