c语言中可以选择的数据类型太少了。

Java中有一些高级的数据结构。

结构中能够存放基本的数据类型以及其他的结构。

结构定义,一般放在程序的开头部分。

一般放在include之后。

#include <stdio.h>
#include <string.h>
struct Hero {
int id;
char name[50]; // 英雄名称
int level; // 英雄的等级
int hp; // 英雄的血量
int mp; // 英雄的魔法值
char skill[50]; // 英雄的技能 };
int main()
{
// 使用结构体
struct Hero hero1;
hero1.id = 1;
strcpy(hero1.name ,"张三");
hero1.level = 5;
hero1.hp = 500;
hero1.mp = 100;
strcpy(hero1.skill,"大保健");
printf("%d\t%s\t%d\t%d\t%s\n",hero1.id,hero1.name,hero1.level,hero1.hp,hero1.skill); return 0;
}
#include <stdio.h>
#include <string.h>
typedef struct Hero {
int id;
char name[50]; // 英雄名称
int level; // 英雄的等级
int hp; // 英雄的血量
int mp; // 英雄的魔法值
char skill[50]; // 英雄的技能 } Hero1;
int main()
{
// 使用结构体
Hero1 hero1;
hero1.id = 1;
strcpy(hero1.name ,"张三");
hero1.level = 5;
hero1.hp = 500;
hero1.mp = 100;
strcpy(hero1.skill,"大保健");
printf("%d\t%s\t%d\t%d\t%s\n",hero1.id,hero1.name,hero1.level,hero1.hp,hero1.skill); return 0;
}

typeof struct 之后,可以在下面方便的使用,不需要再加上struct关键字了。

C语言 - typedef struct 与struct的更多相关文章

  1. 将c语言的结构体定义变成对应的golang语言的结构体定义,并将golang语言结构体变量的指针传递给c语言,cast C struct to Go struct

    https://groups.google.com/forum/#!topic/golang-nuts/JkvR4dQy9t4 https://golang.org/misc/cgo/gmp/gmp. ...

  2. typedef&nbsp;struct与struct的区别

    typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据 ...

  3. typedef struct与struct定义结构体

    今天在定义结构体的时候发现typedef struct与struct定义结构体有一些不同之处: 结构也是一种数据类型, 能够使用结构变量, 因此,  象其他 类型的变量一样, 在使用结构变量时要先对其 ...

  4. [C语言 - 7] 结构体struct

    A. 基本知识   与数组的对比 数组: 构造类型 只能有多个相同类型的数据构成   结构体: 结构体类型 可以由多个不同类型的数据构成   1. 定义类型 struct Student { int ...

  5. C语言结构体(struct)常见使用方法

    基本定义:结构体,通俗讲就像是打包封装,把一些变量有共同特征(比如同属于某一类事物的属性)的变量封装在内部,通过一定方法访问修改内部变量. 结构体定义: 第一种:只有结构体定义 struct stuf ...

  6. c语言typedef关键字的理解

    1.typedef的定义 很多人认为typedef 是定义新的数据类型,这可能与这个关键字有关.本来嘛,type 是数据类型的意思:def(ine)是定义的意思,合起来就是定义数据类型啦. 不过很遗憾 ...

  7. 转:struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系

    在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_family_t; ...

  8. struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系

    在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_family_t; ...

  9. linux网络接口,struct ifreq struct ifconf结构

    网络相关的ioctl请求的request参数及arg地址必须指向的数据类型如下表所示: 接口 SIOCGIFCONF SIOCSIFADDR SIOCGIFADDR SIOCSIFBRDADDR SI ...

  10. 结构体struct sockaddr_in, struct sockaddr,struct in_addr

    一.结构体 struct sockaddr_in,  struct sockaddr,  struct in_addr struct sockaddr_in,  struct sockaddr,str ...

随机推荐

  1. Yoga710笔记本Win10和Ubuntu系统共存

    联想yoga710默认安装了win10系统,且使用EFI分区格式,安装Ubuntu不是一般的困难,经公司小哥的帮助下,几次终于完成了Ubuntu和Win10 共存. 经过多次安装测试,暂时能运行成功的 ...

  2. Dijkstra的双栈算术表达式求值算法 C++实现

    #include<iostream> #include<string> using namespace std; template<typename T> clas ...

  3. 阿里P7架构师详解微服务链路追踪原理

    背景介绍 在微服务横行的时代,服务化思维逐渐成为了程序员的基本思维模式,但是,由于绝大部分项目只是一味地增加服务,并没有对其妥善管理,当接口出现问题时,很难从错综复杂的服务调用网络中找到问题根源,从而 ...

  4. windows server 2008如何显示后缀名

    任意打开一个文件----点击左上角有个[组织]---[文件夹和搜索选项]---[查看]----去掉勾[隐藏已知文件类型的扩展名]---确定即可

  5. S-HR快速查看shr日志

    http://localhost:6888/shr/appData.do?method=getApplicationLog&logFile=apusic.log.0&instance= ...

  6. code runner运行终端的目录设置

    我的github:swarz,欢迎给老弟我++星星 该设置属性为 "code-runner.fileDirectoryAsCwd": true 设置为 true后,终端默认目录为运 ...

  7. C++ 资源大全中文版

    标准库 C++标准库,包括了STL容器,算法和函数等. C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分. Standard Tem ...

  8. 数据持久层(DAO)通用API的实现

    在Web开发中,一般都分3层.Controller/Action 控制层,Service/Business 服务层/业务逻辑层,Dao 数据访问层/数据持久层. 在学习和工作的实践过程中,我发现很多功 ...

  9. Spring Boot-properties使用(二)

    自定义属性 @value注入 在application.properties新增配置 student.name=小明student.age=12student.info=${student.name} ...

  10. ubuntu--Supervisor的简单使用

    安装,这个程序使用python写的 sudo apt-get install supervisor 配置一个你需要的配置文件 //进入 /etc/supervisor/conf.d文件目录,配置一个r ...