精华内容
下载资源
问答
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼比如我想实现在C++中的结构体数组:struct student{string Sno;string Sname;string Sgen;string Sdept;int Sage;student(){Sno = "";Sname = "";Sgen = "男";Sdept = "...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    比如我想实现在C++中的结构体数组:

    struct student{

    string Sno;

    string Sname;

    string Sgen;

    string Sdept;

    int Sage;

    student(){

    Sno = "";

    Sname = "";

    Sgen = "男";

    Sdept = "";

    Sage = 0;

    }

    };

    student student_all[1000];

    我在java中这样写的:

    class stu{

    private int grade = 0;

    private String name ;

    private String subject;

    public stu(){}

    public stu(String name, String subject, int grade){

    this.name = name;

    this.subject = subject;

    this.grade = grade;

    }

    public void setName(String name) { this.name = name; }

    public void setSubject(String subject) { this.subject = subject; }

    public void setGrade(int grade) { this.grade = grade; }

    public String getName() { return name; }

    public String getSubject() { return subject; }

    public int getGrade() { return grade; }

    }

    stu[] stu_all = new stu(10);

    在eclisp中,这个 stu[] stu_all = new stu(10); 一直报错,该怎么用呢,求哥哥们指导下啊.

    http://bbs.csdn.net/topics/390618652

    展开全文
  • 怎么定义一个结构体数组,使数组的每个元素是一个结构体变量。像这样:a=(1,2)a(1)=struct('name',0,'num',0)a(1)=struct('name',0,'num',0) 匿名|浏览 10361 次 发布于2013-04-01 17:34 ...

    https://zhidao.baidu.com/question/537198107.html

     怎么定义一个结构体数组,使数组的每个元素是一个结构体变量。像这样:a=(1,2)a(1)=struct('name',0,'num',0)a(1)=struct('name',0,'num',0)

    匿名 | 浏览 10361 次
    发布于2013-04-01 17:34 最佳答案
     
    st.a = '1'; st.b = 'gg';   % 建立结构体
    A = cell(1,2); % 建立结构体数组
    A{1} = st; % 数据赋值
    A{2} = st;


    ell元包是matlab中提供的一种数据类型,功能强大。
    关于cell的创建:
    1.跟一般创建举证一样,直接使用C = {A B D E}这种形式,不过这里把"[]"改成了}"{}"
    2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1 C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组
    3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.
    关于cell的访问:
    1.X = C(s)使用这种"()"形式的返回的是cell类型
    2.X = C{s}使用这种"{}"形式的返回的是cell中的内容
    3.其他的基本上与通常的数组.矩阵访问一样了
    4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素
    5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值
    6.cell的图形化显示使用命令cellplot(A)即可
    关于cell的删除:
    1.cell(1)=[]删除第一个cell,不能使用cell{1}=[],这是把第一个cell内容置空没有删除
    >>C4={C1,C2,C3}
    C4 =
    {3x2 cell} {3x3 cell} {3x1 cell}
    >> C4(1)=[]
    C4 =
    {3x3 cell} {3x1 cell}
    2.cell(:)=[]删除所有的cell,其他的删除一次类推
    >> C4(:)=[]
    C4 =
    {}
    B={[1;2]}
    这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2]
    要引用里面的数据只要在大括号里写上对应的下标即可,如
    B{1}
    下面我们给B再加个元素,我们可以这样定义
    B(2)={'hello'}
    也可以利用引用的方法定义
    B{2}='hello'
    第二种方法比第一种方法更方便所以更常用。
    这样B就有两个元素了,B(1)是{[1;2]},B(2)是{'hello'},每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是'hello')
     

    转载于:https://www.cnblogs.com/carl2380/p/6274430.html

    展开全文
  • 匿名用户1级2011-06-02 回答我定义了一个结构体数组``从键盘输入数据```怎么才能把输入的数据写入一个txt 的文件中,麻烦给写的代码每行加上注释````谢谢#include #include struct student{char num[20];char name...

    匿名用户

    1级

    2011-06-02 回答

    我定义了一个结构体数组``从键盘输入数据```

    怎么才能把输入的数据写入一个txt 的文件中,麻烦给写的代码每行加上注释````谢谢

    #include

    #include

    struct student

    {

    char num[20];

    char name[20];

    char classes[20];

    char sex[10];

    char chinese[20];

    char maths[20];

    };

    //-----------------------------------

    void studentadd() //增加学生

    {

    int i;

    struct student *p0;

    p0 = (struct student *)malloc(LEN);

    system("cls");

    printf("\r\n");

    printf("+-----------------------------------------\r\n\n");

    printf("请输入学生信息\r\n");

    printf("\n请输入学号:");

    scanf("%s",&p0->num);

    printf("请输入姓名:");

    scanf("%s",&p0->name);

    printf("请输入班级:");

    scanf("%s",&p0->classes);

    printf("请输入性别:");

    scanf("%s",&p0->sex);

    printf("请输入语文成绩:");

    scanf("%s",&p0->chinese);

    printf("请输入数学成绩:");

    scanf("%s",&p0->maths);

    printf("\n+ -------------\n");

    printf("继续添加 请按 1\n");

    printf("保存添加 请按 2\n");

    printf("返回菜单 请按 0\n");

    printf("+ -------------\n");

    scanf("%d",&i);

    switch(i)

    {

    case 0 : menu(); break;

    case 1 : save();studentadd(); break;

    case 2 : save(); break;

    default : printf("\r\n输入错误\r\n\r\n");

    }

    }问题补充:

    我是没写全拉```谁来帮忙写下饿```我就是想把输入的数据写入一个文件中````

    最佳答案 你是用链表嘛。

    用 fwrite函数

    FILE *fp;

    fp=fopen(“文件名”,“打开方式”)r:文本文件读出,w文本文件读入;

    fwrite(地址,读入数据长度,1,fp)

    fread(地址,读出数据长度,1,fp)

    直接把首地址键入就行,这是顺序读入读出。

    你那个函数指针不全,没法写

    展开全文
  • 微信公众号“汽车电控杂谈”同步更新在开发应用层模型时,...应用场景例如我们有以下一个结构体:typedef 并定义了两个结构体数组,如下所示:MyStruct Data_Read[5]; MyStruct Data_Write[5];现在我们希望Simulink...

    344b7f0b9fb6bee95bd6d44c7b0a11c5.png

    微信公众号“汽车电控杂谈”同步更新

    在开发应用层模型时,有时会使用一些结构体、结构体数组等类型的接口变量,方便与其他C代码进行集成。

    那么,我们如何在Simulink模型中实现结构体数组的代码生成呢?

    应用场景

    例如我们有以下一个结构体:

    typedef 

    并定义了两个结构体数组,如下所示:

    MyStruct Data_Read[5];
    MyStruct Data_Write[5];

    现在我们希望Simulink模型实现如下代码的功能:

    /* Data_Write功能 */
    Data_Write[0].Data_Array[1] = x;
    Data_Write[0].Data_Valid = true;
    Data_Write[0].Data_Length = 8;
    
    /* Data_Read功能 */
    a = Data_Read[1].Data_Array[0];
    b = Data_Read[1].Data_Array[0];
    c = Data_Read[1].Data_Valid;
    d = Data_Read[1].Data_Length;
    

    模型实现

    对于上述功能,我们需要使用Selector Assignment这两个模块来实现对数组以及数组结构体的操作。在Simulink模型中使用Data_ReadData_Write作为输入输出接口,并在模型中对部分结构体成员做其他逻辑运算处理。模型如下图所示:

    2db2579bf1406392d7b202f59aa0a096.png

    模型数据对象

    结构体类型MyStruct 需要定义成Simulink Bus,可以使用以下脚本方式

    % Simulink Bus
    MyStruct = Simulink.Bus;
    BusElements{1}(1,1) = Simulink.BusElement;
    BusElements{1}(1,1).Name = 'Data_Array';
    BusElements{1}(1,1).Dimensions = 8;
    BusElements{1}(1,1).DataType = 'UInt8';
    
    BusElements{1}(2,1) = Simulink.BusElement;
    BusElements{1}(2,1).Name = 'Data_Valid';
    BusElements{1}(2,1).Dimensions = 1;
    BusElements{1}(2,1).DataType = 'BOOL';
    
    BusElements{1}(3,1) = Simulink.BusElement;
    BusElements{1}(3,1).Name = 'Data_Length';
    BusElements{1}(3,1).Dimensions = 1;
    BusElements{1}(3,1).DataType = 'UInt8';
    
    MyStruct.Elements = BusElements{1};
    MyStruct.DataScope = 'Exported';
    MyStruct.HeaderFile = 'Var_Struct.h';

    Data_Read的数据对象定义

    Data_Read = Simulink.Signal;
    Data_Read.Dimensions = 5;
    Data_Read.DataType = 'Bus: MyStruct';
    Data_Read.CoderInfo.StorageClass = 'Custom';
    Data_Read.CoderInfo.CustomStorageClass = 'ExportToFile';
    Data_Read.CoderInfo.CustomAttributes.HeaderFile = 'Var_Global.h';
    Data_Read.CoderInfo.CustomAttributes.DefinitionFile = 'Var_Global.c';

    这里为了演示,我们可以再定义两个结构体变量,用于存放上面结构体数组的元素,具体的数据对象定义这里省略

    MyStruct Data_Read_Element;
    MyStruct Data_Write_Element;

    应用场景中的等效代码则可以如下:

    Data_Write_Element.Data_Array[1] = x;
    Data_Write_Element.Data_Valid = true;
    Data_Write_Element.Data_Length = 8;
    Data_Write[0] = Data_Write_Element;
    
    Data_Read_Element = Data_Read[1];
    a = Data_Read_Element.Data_Array[0];
    b = Data_Read_Element.Data_Array[1];
    c = Data_Read_Element.Data_Valid;
    d = Data_Read_Element.Data_Length;

    模型配置

    Data_Read功能部分: 模型中In1端口,需要设置成如下:

    • 指定数据类型为MyStruct
    • 端口维度为5
    • 输出为非虚拟总线

    1caea3e17c40038d9f144703ea85edb1.png

    Data_Read信号线之后的Selector模块设置如下:

    • Index mode使用‘Zero-based’,即数组下标从0开始
    • Index Option可以使用Index vector(port),在外部使用Constant指定下标
    • Input port size 需要指定数组维度(结构体数组维度)

    e9d7cb4d0b444ba5d940a266c4fd933a.png

    在此Selector之后使用Bus Selector,可以指定需要输出的结构体成员,这里全部输出

    后面需要将结构体Data_Read_ElementData_Array成员(数组)两个元素赋值给a,b变量,这里还需要使用一个Selector模块,设置可以参照上面:

    • Index Option选择使用Index vector(port)
    • 也可以选择Index vector(dialog),需要在Selector中设置Index部分,如下图:

    82a4eca9e0d9b99bd7ac0b70d580f3d0.png

    Data_Write功能部分:

    这里需要实现将变量x赋值给某个指定的数组元素的功能,需要使用Assignment模块

    模块配置如下:

    • Index mode:‘Zero-based’,数组下标从0开始
    • Index Option:选择Index vector(port),数组下标由外部输入,
    • Initialize output:Specify size for each dimension in table ,同时需要指定Output Size为8

    f750a904b4b7922b452b460ebe2fbc9a.png

    在上面输出一个数组后,需要赋值给结构体Data_Write_Element使用BusCreator构建一非虚拟总线,BusCreator设置如下:

    c66fb451b1c41fe6d40f3e61f5e8ab32.png

    在上面输出一个数组后,需要赋值给结构体Data_Write_Element使用BusCreator构建一非虚拟总线,BusCreator设置如下:

    c66fb451b1c41fe6d40f3e61f5e8ab32.png

    模型关联数据对象:

    d596bf8ce014b024548c489417641f1c.png


    生成代码如下:

    7bd938865e19746b9ad40a9be3c36a97.png

    上面我们使用了Data_Write_Element、Data_Read_Element两个结构体变量作为中间变量,如果不使用这两个中间变量,这两个信号线不做数据对象管理,也是可以实现同样的功能,有兴趣的童鞋可以试一下,看下最终代码的可读性。

    展开全文
  • 今天在代码实现的时候,某一个设备状态结构体对应的设备有多个,因此定义了一个结构体数组,当在函数中处理时发现有点尴尬的是忘记了该怎么定义结构体指针参量才能在函数中正确访问各成员。 结论 关于结构体数组指针...
  • 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化 //定义结构体// struct achievement {int number; char name[20]; char sex; float achievement1,achievement2,achievement3; }...
  • 关于如何定义结构体数组,和将结构体指针指向结构体变量数组,不是重点。 重点是,明白结构体指针的是怎么移动的, 我个人理解 指针==地址 用指针操作的就是地址 demo: 1 # include <stdio.h> 2 # ...
  •  定义了一个结构体数组,并将文本数据存储进去了,想用容器qvector存储起来使用,但是不知道具体该怎么操作。</p>
  • 结构体数组初始化

    2021-03-17 15:24:52
    《代码大全》建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化。 1、初始化 typedef struct _TEST_T { int i; char c[10]; }TEST_T; TEST...
  • <p style="text-align:center"><img alt="" height="111" src="https://img-ask.csdnimg.cn/upload/1616590473949.png" width="570" /></p> <p style="text-align:center">... 这个结构体数组应该怎么定义?</p>
  • 1,在项目开发过程中,数据之间的传递是必不可少的,当我们需要传递一个数据的时候,我们只需要定义一个变量就可以了,那么当我们需要传递一组数据且多次传递时我们需要怎么做呢,我们使用结构体数组可以实现,在...
  • 去看看怎么创建结构体 上面这样创建. 注意创建结构体的写法要知道 然后去定义一个结构体对象,可以看到上面第一种定义方法. struct Student s1; 感觉有点像java中,类定义对象一样. 然后再来看,定义了...
  • JavaScript之结构体数组的使用一、前言 一、前言 Javascript小白,之前都是用的C/C++写代码,现在用js写前端代码,遇到点层次包含较多的数据结构,想着怎么用类似C语言的结构体来解决。 其实在Javascript中,就是...
  • C#如何定义一个结构体数组的指针

    千次阅读 2018-10-05 13:41:30
    在VS里写C#怎么提示隐藏由基类显式实现的接口方法在VS里写C#怎么提示隐藏由基类显式实现的接口方法在VS里写C#怎么提示隐藏由基类显式实现的接口方法在VS里写C#怎么提示隐藏由基类显式实现的接口方法在VS里写C#怎么...
  • 定义了一个结构体定义了一个结构体指针,给指针分配空间之后,对其初始化,系统会报错, > 0x00B81B70 处(位于 DataStructure.exe 中)引发的异常: 0xC0000005: 写入位置 0xCDCDCDD1 时发生访问冲突。 ...
  • Python向怎么向C语言传递结构体分享,Python的C扩展程序中传递参数为结构体怎么传递在你眼中,我就只是空气吗?我爱你,你永远都不会懂。定义了C 结构体和函数如下 typedef struct NameAge { char name[20]; int ...
  • '定义结构体 Public Structure RowData Public CellData() As String End Structure '使用结构体 Dim myA() As RowData 初始化……? ReDim Preserve myA(myA.Length + 1) 赋予新值……? 怎么初始化...
  • typedef struct students { long code; char *name; float score[3]; float sum; }cla[40]; 这样定义是什么意思呢? cla代替了struct students? 正确的写法是怎么样的
  • void Delete(struct student *head) { system("cls"); int exit=0; char s[5]; printf("输入要删除学生的学号:(如果删除所有学生请输入0000)\n学号:"); scanf("%s",s); while(!exit){ ...}
  • 最初最简单的时候,只需要使用基本数据类型来定义单个变量,需要几个就定义几个,后来有时候需要很多意义相关的变量这时候数组出现了。数组解决了需要很多类型相同,意义相关的变量问题,但是数组是有限制的,数组的...
  • 初始化结构体数组怎么写? 报错2个: 1、错误的数组声明符: 要声明托管数组,秩说明符应位于变量标识符之前。要声明固定大小缓冲区字段,应在字段类型之前使用 fixed 关键字。 2、无法将类型“CnChess....
  • } 之后再定义一个结构体,成员是第一个结构体数组形式 [StructLayout(LayoutKind.Sequential)] public struct THREGION_Array { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] public ...
  • 今天给大家介绍一下什么是数组,什么是结构体,关于数组我们会介绍数组定义、它的使用方法,关于结构体我们会介绍结构体的使用、怎么去建立一个结构体等知识,之前也是有部分学员有问过这些问题的,那么都一块儿给...
  • 三菱PLC今天给大家介绍一下什么是数组,什么是结构体,关于数组我们会介绍数组定义、它的使用方法,关于结构体我们会介绍结构体的使用、怎么去建立一个结构体等知识,之前也是有部分学员有问过这些问题的,那么都...
  • 1,结构体 :在存储和处理大批量数据时,一般会使用数组来实现,但是每一个数据的类型及含义必须一样。如果需要把不同类型、不同含义的数据当作一个整体来处理,如 1000 个学生的姓名、性别、年龄、体重、成绩等,...
  • Swift的数组是一个结构体类型,它遵守了CollectionType、MutableCollectionType、_DstructorSafeContainer协议,其中最重要的就是CollectionType协议,数组的一些主要功能都是通过这个协议实现的。而CollectionType...
  • 发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,...
  • 首先是结构体成员如果是字符数组,该怎么赋值? 以一个结构体为例:  struct si{  char x[5];  char y;  float z;  double m;  }su; 我用的su.x="abcd"和直接在定义是初始化,均报错
  • 设有定义:struct{char mark[12];intnum1;double num2;}t1,t2;若变量均已正确赋初值,则以下语句中错误的是(C) (A) t1=t2; (B) t2.num1=t1.num1; (C) t2.mark=t1.mark;//mark为结构体中的数组,不能直接赋值?...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 184
精华内容 73
关键字:

怎么定义结构体数组