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. 文字水平居中和垂直居中的CSS

    首先选择一个需要显示文字的选择器,我这里选择的是微信小程序里面的<view>选择器,在其他语言(如html)的选择器里是一样的做法: <view class="btn-it ...

  2. 浅谈Websocket、Ajax轮询和长轮询(long polling)

    浅谈Websocket.Ajax轮询和长轮询(long p0ll) 最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket W ...

  3. (转)vuex2.0 基本使用(2) --- mutation 和 action

    我们的项目非常简单,当点击+1按钮的时候,count 加1,点击-1按钮的时候,count 减1. 1, mutation The only way to actually change state ...

  4. mysql 导入数据库时,报错1840的解决方法

    1.现象 在mysql用sql文件导入数据库时,提示ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @ ...

  5. 安装Oracle客户端时,检查系统要求时状态为错误的解决办法

    这是我自己安装oracle11g至win7的错误记录: 正在检查操作系统要求... 要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1 我换了 10g,11g从32bit到64bi ...

  6. 用SQL Server查询所有数据并显示

    利用SQL Server查询数据,并把所有数据显示在页面上. "%> <%@page import="jdbc.sqlServer"%> <%@p ...

  7. 在安卓JNI/NDK中使用C++11

    在VS下编写的程序移植到Eclipse下,出现了问题: this file requires compiler and library support for iso C++ 2011 standar ...

  8. sql server 查询时间 格式化输出

    use test select * from vote insert into vote (contents) values(GETDATE()) insert into vote (contents ...

  9. C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  10. linux邮件服务

    linux本地常见邮件服务有: Centos5:默认使用sendmail邮件服务,开启方式/etc/init.d/sedmail start Centos6:默认使用postfix邮件服务,开启方式/ ...