虽然已经了解结构体类型,但是结构体类型变量的定义只有一种方法么,这个当然不是的,所以我把我所知道的几种方法列出来供给大家参考一下;

  首先是第一种,也是我们经常用的一种:

 1 #include <stdio.h>2 #include <string.h>3 #include <stdlib.h>4 5 typedef struct Student16 {7     char name[32];8     int age;9 }Student1;//定义一个结构体类型//可以通过类型来定义变量
10 void main()
11 {
12     Student1 S1;
13
14     system("pause");
15 }

  这里我们可以看见可以直接定义一个结构体类型,然后通过类型来定义变量,这是一种比较常用的方法,然后下面的几种定义变量的方法我平时用的比较少:

 1 struct Student22 {3     char name[32];4     int age;5 }t1,t12;//第一结构体类型的同时,定义结构体变量6 7 struct8 {9     char name[32];
10     int age;
11 }T1;//直接定义结构体变量,这里只能使用已定义的变量,无法在定义其他结构体变量

  这两种都可以直接定义变量,特别是最后面直接定义一个结构体变量,由于是匿名定义的所的,所以除了已定义的变量,是无法在通过它定义其他变量了;

  然后我们可以再来看看初始化的几种方法:先说说第一种也是比较常用的一种:

  

#include <stdio.h>
#include <string.h>
#include <stdlib.h>typedef struct Student1
{char name[32];int age;
}Student1;//定义一个结构体类型//可以通过类型来定义变量void main()
{Student1 S1 = {"aaa",2};//定义变量时直接初始化system("pause");
}

  这种是比较常用一点的;至于下面的用的就比较少了,反正我是很少用的;(至于工作中用的多不多我就不知道了,毕竟我还只是个学生而已);

struct Student3
{char name[32];int age;
}s1 = {"aaa",2},s2 = {"bbb",3};//直接定义结构体类型并初始化struct
{char name[32];int age;
}t2 = {"ccc",4};//直接定义结构体变量并初始化

  这两种初始化和和上面的2,3的变量定义是一样的,都是直接定义了,然后可以直接用了,平时我用的一般都是第一种定义变量和初始化个人觉得比较好吧!想用的时候就定义,不想用的时候就释放掉;不像直接定义即使不用也会一直占用空间的,已经定义为全局变量了;

如何定义结构体变量及如何使用相关推荐

  1. C语言 malloc() + 结构体指针定义结构体变量

    之前在学习链表的过程中,笔者认为新节点必须如下定义: struct Node *p; struct Node {int val;p pNext; };int main() {Node Node1;No ...

  2. c语言中 定义结构体变量初始化,c++中的结构体:声明 定义 初始化

    什么是结构体? 之前的学习中我们知道了数组是一个容器,而且是存放固定大小数据的容器,而且存放的元素的数据类型必须要一致. 比如数据库中有这样的一条记录学号 性别 年龄 成绩 地址应该怎样存放 结构体: ...

  3. 定义结构体变量的三种方式

    #include <stdio.h>//定义结构体的三种方式,推荐使用第三种//第一种 struct student1 {int age;char name[20];float score ...

  4. C语言定义外部文件可使用的结构体和结构体变量

    如果想在a.c中定义一个可以在b.c中可以使用的结构体变量,则可以参照一下方法: 首先在a.h中定义结构体和声明结构体变量,如: typedef struct struct_a { //结构体内容 } ...

  5. 题9.1:定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天, 注意闰年问 题。

    题目 本题是谭浩强<C程序设计课后习题>题9.1. 题目: 1.定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天, 注意闰年问 题. 以下是本篇文章正文内容,欢迎朋友们进行指 ...

  6. 结构体的定义与结构体变量的定义

    结构体是用来存放一系列变量的集合或容器.结构体变量是一种复合型变量,每一个结构体变量包含结构体中的所有变量,即是一个变量集合. #include <stdio.h>/*struct是结构体 ...

  7. 【C语言】结构体变量定义、初始化、使用

    目录 前言 一.声明"结构体类型" 二.定义结构体变量 方法 1  先声明结构体类型,再定义结构体变量 方法 2 声明类型的同时定义变量 *方法 3 不指定结构体名(结构体标记), ...

  8. 结构体变量和结构体类型的定义

    结构体类型定义 定义方式1:Typedef struct LNode {int data; // 数据域struct LNode *next; // 指针域 } *LinkList; 定义方式2:st ...

  9. 【C 语言】结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )

    文章目录 一.结构体类型定义 二.结构体类型别名 三.结构体类型变量声明 1.使用结构体类型 ( 别名 ) 声明变量 2. 定义隐式结构体时声明变量 3.定义普通结构体时声明变量 二.完整代码示例 一 ...

最新文章

  1. 『ACM C++』 PTA 天梯赛练习集L1 | 016-017
  2. 13.2.6 会话跟踪技术
  3. vhosetuser 和 vhostuservlient 差异
  4. php 访问url获得返回值,如何在curl php请求中获取数组值作为返回值?
  5. 双十一京东PLUS会员 VS 阿里88VIP,谁的羊毛多?
  6. Microsoft caffe cifar实例编译之model的生成
  7. STM32的函数ssert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  8. 成语小秀才小程序源码-小程序前端-小程序吸粉引流源码
  9. stm32串口控制LED灯
  10. 电脑开机是哪个键 电脑常用快捷键盘点
  11. WindowsLiveWriter安装步骤
  12. 设备屏幕亮度调节代码实现
  13. v5服务器装系统,HIPAA海鲅V5s笔记本一键u盘装系统win10教程
  14. win10 安装硕正
  15. CODEFORCES 272C Dima and Staircase 细节理解题+简单技巧
  16. CPA二十一--划出和追加保证金(转载)
  17. java64位官方下载10_Java10.0下载|Java10.0.1 64位官方版 - 爱学府软件园
  18. 基于余弦相似度的改进蝴蝶优化算法
  19. 功率放大电路和电压放大电路的区别是什么意思
  20. Qt中disconnect断开和blockSignals阻塞的总结

热门文章

  1. Conga在亚太业务增长迅猛之际举办首次亚太用户大会
  2. Vue 32个修饰符,你不一定全知道!
  3. 局部渐近稳定,全局渐进稳定,一致有界,一致最终有界
  4. 那些不务正业的品牌Apps,借鉴
  5. Java Caching(缓存)-策略和JCache API
  6. 定位教程0---定位初介绍之均方根误差
  7. VB编程:IsNumeric判断闰年-48
  8. 手把手带你学习SQLMAP
  9. cc2530dma控制器功能_Z-STACK之cc2530DMA驱动详解
  10. 这10个白嫖网站,或许你一个都不知道!