c语言----结构体--声明及定义

试着写点东西,主要为了巩固学习过的东西。

结构体?C语言中的结构体主要用来表达、定义一些自己想要的类型,例如日期,身份信息等等。

日期:2017-09-10

身份信息:姓名fakke,年龄23,身高180;

可以通过struct来实现。(个人感觉有点像python的字典)

定义的方式:

第一步:声明结构类型:

  struct   类型名字{

  变量类型1   变量名;

  变量类型2  变量名;

    。。。

  变量类型3  变量名;

  }

第二步:

   2定义新的变量
  struct date 变量名;

第三步:

  变量赋初始值
  struct date today = {07,12,2017};
  struct date today = {.month=01,.year=2012};
  // 两种赋值方法,没有指定的默认0,例如数组。

当然声明数据类型还有两种方式。

一种是:

   struct {

  }p1,p2;
   p1,p2 是这个无名类型的两个变量,这是你可能仅仅需要这两个变量就足够用了,不需要再去声明一种数据类型。

另一种是:

   struct point{

   }p1,p2;
  这种申明数据类型的方法,同时做了两件事,一是声明一个类型,二是创建两个变量。

时间: 2024-10-24 08:24:00

c语言----结构体--声明及定义的相关文章

C语言结构体声明中冒号的使用(占位符) & C结构体的乱序初始化

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为"位域"或"位段".所谓"位域"是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数.每个域有一个域名,允许在程序中按域名进行操作.这样就可以把几个不同的对象用一个字节的二进制位域来表示.一.位 域的定义和位域变量的说明位域定义与

C语言结构体定义的几种方法

什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据结构.结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问. 结构体的定义: C语言结构体类型的定义模板大概为: struct 类型名{ 成员表列 } 变量; 在成员表列中可以是几种基本数据类型,也可以是结构体类型. struct 类

c 语言结构体struct的三种定义方式 及 typedef

struct 结构体名{ 成员列表: ..... }结构体变量: 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分别介绍如下: 1) 先定义结构体类型,再定义结构体类型变量:struct stu / *定义学生结构体类型* /{     char name[20]; / * 学生姓名* /     char sex; / * 性别* /     long num; /

C语言-结构体定义的几种方式

若struct后面接的是名字,则其为该结构体的名称.第一种是最基本的结构体定义,其定义了一个结构体A. struct A //第一种 { int a; }; 第二种则是在定义了一个结构体B的同时定义了一个结构体B的变量m. struct B //第二种 { int b; }m; 第三种结构体定义没有给出该结构体的名称,但是定义了一个该结构体的变量n,也就是说,若是想要在别处定义该结构体的变量是不行的,只有变量n这种在定义结构体的同时定义变量才行. struct //第三种 { int c; }n

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

本文转自 CSDN huqinweI987 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体定义: 第一种:只有结构体定义 [cpp] view plaincopy struct stuff{ char job[20]; int age; float height; }; 第二种:附加该结构体类型的“结构体变量”的初始化的结构体定义 [cpp] view plaincopy

C语言结构体的初始化

今天在工作时,看到了奇葩的结构体初始化方式,于是我查了一下C99标准文档和gcc的说明文档,终于搞清楚是怎么回事了. 假设有如下结构体定义: typedef struct { int a, b, c; } MyStruct; 那么结构体的初始化方式如下有三种: (1) C89的初始化方式 MyStruct test = {1, 2, 3}; 这种初始化的优点是语法简单,无需输入变量名:缺点是成员变量的初始化顺序必须与声明的一致,无法乱序初始化. (2) C99新增的初始化方式 MyStruct

不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符

[源码下载] 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 共用体 枚举 类型定义符 示例cStruct.h #ifndef _MYHEAD_STRUCT_ #define _MYHEAD_STRUCT_ #ifdef __cplusplus extern "C" #endif char *demo_cStruct(); #endif cStruct.c /* * 结构体,共用体,枚举,类型定义符 * * 注:结构体变量在做参数传递时,其内每个

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

基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体定义: 第一种:只有结构体定义 [cpp] view plain copy struct stuff{ char job[20]; int age; float height; }; 第二种:附加该结构体类型的“结构体变量”的初始化的结构体定义 [cpp] view plain copy //直接带变量名Huqinwei st

C语言结构体点滴

结构的本质是C语言的一种数据抽象,通俗的说,是基本数据类型的重组.为什么要重组呢?因为基本数据类型不够用了.为什么不够用了呢?因为需要的信息类型太多了.这是一个很大的话题.信息本来是没有什么类型之分的,但是为了便于在计算机内部的管理,人们在C语言中把信息先分成了基本的几个类型,比如整型.浮点型.字符型.布尔型等等.但是呢,描述一个事物的全部信息有时候仅用一种基本类型是不够的,比如一本书的基本属性:作者(字符型).价格(浮点型).出版日期(我也不知道什么型).书名(字符型).然而操蛋的是,我们要处