结构体

struct 结构体名{} 变量名;

结构体变量:

struct person{

char *name;

int age;

float score;

} student;

成员的获取和赋值

//Members of the acquisition and assignment

student.name="taoshihan";

student.age=30;

student.score=100;

printf("name=%s \n",student.name);

C语言结构体数组

struct stu{

char *name;

int age;

float score;

} classes[5];

遍历结构体数组

struct people{

char *name;

int age;

float score;

} d[]={

{"taoshihan",20,100},

{"lisi",30,90}

};

int len=sizeof(d)/sizeof(d[0]);

printf("d length=%d \n",len);

for(int i=0;i<len;i++){

printf("loop...%s,%d,%.1f \n",d[i].name,d[i].age,d[i].score);

}

C语言结构体和指针

struct 结构体名 *变量名;

struct person1{

char *name;

int age;

float score;

} a={"taoshihan",20,100},*b=&a;

struct person1 *c=&a;

获取结构体成员

printf("b.name=%s \n",(*b).name);

printf("c.name=%s \n",c->name);

完整代码:

#include <stdio.h>
int main(){ printf("hello world");
//Structure variables
struct person{
char *name;
int age;
float score;
} student; //Members of the acquisition and assignment
student.name="taoshihan";
student.age=;
student.score=;
printf("name=%s \n",student.name); //c struct array
struct stu{
char *name;
int age;
float score;
} classes[]; struct stu1{
char *name;
int age;
float score;
} classes1[]={
{"taoshihan",,100.00},
{"lisi",,}
}; struct stu2{
char *name;
int age;
float score;
} classes3[]={
{"taoshihan",,}
};
printf("%s \n",classes1[].name); //Traverse the array of structures
struct people{
"chaper5.c" 71L, 1199C , Top
//Traverse the array of structures
struct people{
char *name;
int age;
float score;
} d[]={
{"taoshihan",,},
{"lisi",,}
};
int len=sizeof(d)/sizeof(d[]);
printf("d length=%d \n",len);
for(int i=;i<len;i++){
printf("loop...%s,%d,%.1f \n",d[i].name,d[i].age,d[i].score);
} //C language structure and pointer
struct person1{
char *name;
int age;
float score;
} a={"taoshihan",,},*b=&a;
struct person1 *c=&a;
//Get the structure member printf("b.name=%s \n",(*b).name);
printf("c.name=%s \n",c->name);
}

[编程] C语言的结构体的更多相关文章

  1. C语言中结构体对齐问题

    C语言中结构体对齐问题 收藏 关于C语言中的结构体对齐问题 1,比如: struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B; ...

  2. Go语言中结构体的使用-第2部分OOP

    1 概述 结构体的基本语法请参见:Go语言中结构体的使用-第1部分结构体.结构体除了是一个复合数据之外,还用来做面向对象编程.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. ...

  3. Go语言中结构体的使用-第1部分结构体

    1 概述 结构体是由成员构成的复合类型.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性.结构体成员,也可称之为成员变量,字段,属性.属性要满足唯一性.结构体的概念在软件工程上 ...

  4. Go语言 6 结构体、方法和接口

    文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ Go学习群:415660935 结构体(struct)是由一系列具有相同类型或不同类 ...

  5. C语言利用结构体数组实现学生成绩管理系统

    这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 要求: 某班有最多不超过30人(具体人数由键盘输入) ...

  6. C语言中结构体赋值问题的讨论

    今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...

  7. C语言的结构体和C++结构体的区别

    关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不要void关键字,这样的方法就是构造器的 ...

  8. 01.C语言关于结构体的学习笔记

    我对于学习的C语言的结构体做一个小的学习总结,总结如下: 结构体:structure 结构体是一种用户自己建立的数据类型,由不同类型数据组成的组合型的数据结构.在其他高级语言中称为记录(record) ...

  9. 逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式

    逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式 一丶了解什么是结构体,以及计算结构体成员的对其值以及总大小(类也是这样算) 结构体的特性 1.结构体(struct)是由一系列具有相同类型或不 ...

随机推荐

  1. 谈一谈PHP计划任务

    公司所用计划任务均是大概这样子的: */ * * * * root cd /opt/xxxx/test_S1/html/xxxx/admin; php index.php task testOne & ...

  2. apache url路由配置重写

    最近复习了一下Apache Rewrite url重定向功能,有个项目用到了.htaccess,简单的几行代码,是看不怎么明白,于是复习了一下. 1.Apache Rewrite的主要功能 就是实现U ...

  3. 微信小店调用api代码示例

    刚开始调用微信小店api的时候,可能大家会遇到问题.系统总是提示system error,归根结底还是发送的参数不正确. 下面给出几个调用例子: 例子写得不全. <?php function c ...

  4. 【12c OCP】最新CUUG OCP-071考试题库(51题)

    ------------------------------------------------------- 51.(12-10)choose the best answer: Evaluate t ...

  5. 牛客OI赛制测试赛1 题解

    A 斐波那契 数竞生:这不是送分的常识吗? 这里引入一个叫卡西尼恒等式的玩意. 公式表达就是 设$fib[i]$为斐波那契数列的第$i$项$(i>0,i \in N_+)$ 则有 $fib[i+ ...

  6. jenkins+gitlab+robot framework 中遇到的坑

    问题一:拉Git源代码时提示无权限 原来之前用的ssh密钥一直都是自己的用户生成的.其实在Jenkins系统使用的都是Jenkins这个系统帐号的. 解决方法: 切换到jenkins这个帐号下生成个新 ...

  7. django入门-初窥门径-part1

    尊重作者的劳动,转载请注明作者及原文地址 http://www.cnblogs.com/txwsqk/p/6510917.html 完全翻译自官方文档 https://docs.djangoproje ...

  8. angular核心原理解析2:注入器的创建和使用

    上一课没有讲到创建注入器的方法createInjector. 此方法,会创建两种不同的注入器:第一种叫做providerInjector,第二种叫做instanceInjector.providerI ...

  9. centos和ubuntu的网络属性配置

        一. centos的网络配置    1.  修改 /etc/sysconfig/network-scripts/ifcfg-IFACE:             DEVICE:此配置文件应用到 ...

  10. java后台简单从阿里云上传下载文件并通知前端以附件的形式保存

    一. 首先开通阿里的OSS 服务 创建一个存储空间在新建一个Bucket 在你新建的bucket有所需的id和key 获取外网访问地址或者是内网 看个人需求 我使用的是外网(内网没用过 估计是部署到阿 ...