回 帖 发 新 帖 刷新版面

主题:麻烦懂的人给讲一下 关于初始化的问题

#include<stdio.h>
#include<stdlib.h>
typedef struct sqlist{
    int arry[100];
    int length;        
}SqList;
int main()
{
    int m;
    SqList L;
   [color=FF0000] L.arry[]={3,4,5,6};[/color]    这样初始化错在哪里呢?
    for(m=0;m<4;m++)
        printf("%3d",L.arry[m]);
    system("pause");
    return 0;
}

回复列表 (共4个回复)

沙发

这种方法只能在声明时立即定义的情况下使用,在程序运行过程中不可以使用,可以用内存操作函数来给数组赋值

板凳


能不能写一下代码,具体怎么使用内存分配函数不是太明白。

3 楼

#include<stdio.h>
#include<stdlib.h>
//#include<string.h>
typedef struct sqlist{
    int arry[100];
    int length;        
}SqList;
int main()
{
    int m;
    SqList L = {{3, 4, 5, 6}, 4};
   // memset(L.array, 0, L.length);二楼是这个意思吗?只能初始化为相同色数
    for(m=0;m<4;m++)
        printf("%3d",L.arry[m]);
    system("pause");
    return 0;
}

4 楼

或者一个元素一个元素地赋值

我来回复

您尚未登录,请登录后再回复。点此登录或注册