`
gaofen100
  • 浏览: 1227680 次
文章分类
社区版块
存档分类
最新评论

王老师 结构体 第一讲

 
阅读更多

一种数据类型,由多个分量构成,共同描述一个对象.

声明语法:

struct 类型名

{

分量类型1 分量名1;

...

分量类型n 分量名n;

};

结构型变量定义: struct 结构类型名 变量名;

分配内存: 按结构定义的顺序,分配各个分量,可能有空白区.

示例函数代码:

#include "stdio.h"

/*
* 结构体:日期类型
*/
struct date
{
int y, m, d;
};

/*
* 结构体:学生
*/
struct student
{
int id;
char name[20];
struct date birthday;
};

/*
* 复数
*/
struct complex
{
int real;
int imaginary;
};

complex add(complex a, complex b)
{
a.imaginary += b.imaginary;
a.real += b.real;
return a;
}

complex add(complex * a, complex * b)
{
a->imaginary += b->imaginary;
a->real += b->real;
return *a;
}

void main()
{
/*
* 测试一下sizeof函数
*/
int x = 3;
printf("%d/n", sizeof(x));
printf("%d/n", sizeof(x = 4));
printf("%d/n", x);

/*
* 使用struct
*/
struct complex a, b, c;
a.real = 1;
a.imaginary = 2;

b.real = 1;
b.imaginary = 3;

c = add(a, b);
printf("%d, %d/n", a.real, a.imaginary);
printf("%d, %d/n", c.real, c.imaginary);

c = add(&a, &b);
printf("%d, %d/n", a.real, a.imaginary);
printf("%d, %d/n", c.real, c.imaginary);
}

分享到:
评论

相关推荐

    第8讲-结构体与结构体数组

    讲解区分结构体与结构体数组:结构体的引出、结构体变量的定义和引用、结构体数组

    结构体使用详解,与结构体如何嵌套使用

    结构体在计算机编程中是一种非常重要的数据类型,它允许开发者定义一种新的数据类型,这种类型可以包含不同类型的多个成员变量。本文将详细讲解结构体的声明、初始化以及成员变量的使用,并重点介绍结构体的嵌套使用...

    C#从文件中存储及读取结构体示例

    在C#编程中,结构体(Struct)是一种用户自定义的数据类型,用于封装多个值类型数据。本示例将详细讲解如何将结构体序列化为二进制文件,并从该文件中反序列化读取结构体信息。这对于数据持久化、跨进程通信或网络...

    第十一章 结构体和.ppt

    【第十一章 结构体和共用体】 结构体是C语言中的一种复杂数据类型,它允许我们将多个不同类型的变量组合在一起,形成一个新的类型。在结构体中,每个变量被称为“成员”,它们按照定义的顺序存储在内存中。结构体...

    JNA 复杂结构体传递

    在C语言中,结构体是一种自定义数据类型,可以包含多种不同类型的成员,如整型、浮点型、其他结构体等。在JNA中,我们可以通过创建一个`Structure`的子类来表示C结构体。每个成员对应C结构体中的一个字段,通过`...

    socket传输结构体的解决办法

    这就需要我们找到一种解决办法来传输结构体。下面我们将讨论如何解决这个问题。 首先,我们需要定义一个结构体来存储需要传输的数据。在这个例子中,我们定义了一个结构体 struct send_info,包含了发送者 ID、接收...

    结构体问题

    在C++编程语言中,结构体(Struct)是一种复合数据类型,它允许我们将多个不同类型的变量组合成一个单一的实体,使得数据管理更加方便。结构体是C++中实现数据封装的一种基本方式,尤其对初学者来说,理解并熟练运用...

    DBC 转结构体 修复版

    3. 生成结构体代码:工具根据DBC文件内容自动生成结构体代码,这可能包括多个结构体,每个结构体对应DBC文件中的一个或多个帧。 4. 集成到项目:将生成的结构体代码复制到目标项目中,作为处理CAN消息的基础。 5. ...

    OPCUA读写结构体示例

    结构体是OPCUA数据类型系统的一部分,允许定义自定义的数据模型,这些模型可以包含多个基础数据类型的组合。在C#中,这通常对应于类或结构的定义。OPCUA结构体可以包括基本数据类型(如整数、浮点数、字符串等)以及...

    关于结构体指针类型的强制转换

    例如,配置GPIOA的第1脚为推挽输出模式: ```c GPIOx->CRL |= (0x0010 ); ``` #### 五、结构体指针的强制类型转换 在某些情况下,可能需要将一个指针类型转换为另一个指针类型。例如,在使用动态内存分配函数...

    C++自定义结构体排序实现

    在代码中,我们首先定义了一个名为AssessTypeInfo的结构体,该结构体包含三个成员变量:m_uiType、m_szName和m_uiTotal。然后,我们重载了小于号(<)和大于号(>)运算符,以便实现升序和降序排序。 在main函数中...

    CODESYS之结构体的使用.doc

    1. **添加结构体**:在CODESYS中,添加结构体通常在“项目”视图中进行。点击右键,选择“添加新对象” → “数据类型” → “结构体”。然后在弹出的对话框中,为结构体命名,例如"Student",并点击“确定”。 2. ...

    计算机结构体

    结构体

    C++结构体参数与结构体指针参数区别Demo

    1. 结构体参数: 当我们将结构体作为函数参数直接传递时,实际上是创建了结构体的一个副本。这个过程被称为值传递。例如,在`helloworld.cpp`中可能有一个函数原型如下: ```cpp void processStruct(MyStruct s);...

    网络编程之发送结构体.zip

    网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体网络编程之发送结构体...

    详解C语言Struct(结构体)系列之一

    C语言中的结构体(Struct)是一种用户定义的数据类型,允许将不同类型的数据项聚集在一起构成一个单一类型。结构体在C语言中扮演着极其重要的角色,它使得程序员可以创建复杂的自定义数据结构,以更贴近现实世界的...

    结构体嵌套(c语言)

    在C语言中,结构体(struct)是一种复合数据类型,它允许我们将多个不同类型的变量封装在一起,形成一个整体。在嵌入式系统编程中,结构体的嵌套使用非常常见,因为它们能有效地组织和管理复杂的硬件接口或数据结构...

    一种快速清空结构体的方法

    先自定义一个结构体,比如: struct Table{short int a;long b;short intc;long d;};struct Table Tab[10]; 以下的函数即是用于清空结构体的,需要传入的两个参数分别为结构体的起始地址和结构体的长度。 ...

    定义嵌套结构体数组

    在编程中,结构体(Struct)是一种非常重要的数据类型,它允许我们将多个不同类型的变量组合成一个单一的实体。在C/C++等编程语言中,我们可以定义嵌套结构体,也就是结构体中包含其他结构体的结构。这种设计模式...

    Delphi 通用结构体操作单元

    "Unit1.pas" 和 "Unit1.dfm" 文件通常分别对应于 Delphi 的一个窗体单元(Form Unit),其中可能有用户界面元素和对应的事件处理代码,可能会调用 "RecordOper.pas" 中的函数来展示或编辑结构体数据。 "Project1....

Global site tag (gtag.js) - Google Analytics