一、建立结构体类型

1、申明结构体类型

struct 结构体名
{
成员表列(类型名 成员名;);
}; 例如:
struct Person
{
char name;
int age;
char sex;
};
//定义了一个结构体类型——struct Person

struct为关键字,不可省略 
结构体类型如同其他类型一样,在c程序中具有和其他类型相同的地位,就如同 int(整数类型) char(字符类型)一样

Zu:结构体名可以自由命名,成员表列也可以由现实情况自由定义。书写格式固定,内容自定义。

2、定义结构体类型变量

前言:
1)程序运行的时候只会对变量进行操作,而不会对类型进行操作,(比如,你什么时候对int  double  进行过运算,赋值呢,对吧)所以我们要先定义变量,然后才能对其进行操作。

2)编译的时候对类型是不分配空间的,只会对变量分配存储空间。

3)结构体中的成员可以单独使用,作用与地位相当于普通变量。

4)要遵循:先定义结构体类型,后定义结构体变量。

三种方法定义结构体变量:

1)结构体类型名  变量名;

  (类似于:类型名  变量名;)

struct    Student
{
char name;
int age;
};//定义结构体类型 struct Student student1,student2;//定义了 student1,student2两个结构体变量 struct Student students[];//定义了一个结构体数组,长度为5

结构体类型也可以定义数组。

2)申明结构体类型的同时定义变量

struct    Student
{
char name;
int age;
}studen1,student2;//在定义struct Studentt这个结构体类型的同时定义了studen1,student2两个struct Student结构体变量 struct 结构体名
{
变量表列;
}变量名表列; //结构体数组也可这样定义
struct    Student
{
   char name;
   int age;  
}studens[5];//定义了一个结构体数组,长度为5

(struct 结构体名) 合起来称作一个结构体类型。

3)不定义类型名而直接定义结构体类型变量

无名结构体无法再次定义此类结构体变量。

strcut
{
char name;
int age;
}student1,student2; //意义与上面的相同

Zu:该方式的定义方法意义不大,使用很少。

3、结构体变量的初始化和使用

这部分比较简单,不做介绍,任何一本c语言教科书都会进行讲解。

4、结构体指针也不做讲解。

建立自己的数据类型——C结构体归纳的更多相关文章

  1. C语言-06复杂数据类型-04 结构体

    结构体的说明(构造类型) 数组:只能由多个相同类型的数据构成 结构体:可以由多个不同类型的数据构成 ,结构体的类型是不存在的,自己定义 int main() { // 1.定义结构体类型 定义类型的时 ...

  2. 自定义数据类型 C++ 结构体类型 共同体类型 枚举类型 类类型{}

    一.结构体类型 结构体类型,共用体类型,枚举类型,类类型等统称为自定义类型(user-defined-type,UDT). 结构体相当于其他高级语言中的记录(record);例如: struct St ...

  3. 编程C语言进阶篇——自定义数据类型:结构体

    一.结构体 定义方法: 结构名 变量名 特点: 两个同类型的结构变量可以相互赋值,但是结构变量之间不能使用"<","=="等运算符,如果使用则需要对运算符 ...

  4. Linux C语言结构体-学习笔记

    Linux C语言结构体简介 前面学习了c语言的基本语法特性,本节进行更深入的学习. 预处理程序. 编译指令: 预处理, 宏定义, 建立自己的数据类型:结构体,联合体,动态数据结构 c语言表达式工具 ...

  5. matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段

    一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...

  6. Java JNA (三)—— 结构体使用及简单示例

    JNA简介 JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna).JNA提供一组Java工具类 ...

  7. 『GoLang』结构体与方法

    结构体 结构体类型 Go 通过结构体的形式支持用户自定义类型,或者叫定制类型. Go 语言结构体是实现自定义类型的一种重要数据类型. 结构体是复合类型(composite types),它由一系列属性 ...

  8. c语言结构体

    [C语言]21-结构体 本文目录 一.什么是结构体 二.结构体的定义 三.结构体变量的定义 四.结构体的注意点 五.结构体的初始化 六.结构体的使用 七.结构体数组 八.结构体作为函数参数 九.指向结 ...

  9. 【C语言入门教程】7.3 结构体指针的定义和引用

    C 语言中指针的操作非常灵活,它也能指向结构体变量对结构体变量进行操作.在学习结构指针之前,需要再次加深对指针的认识.声明指针变量时所使用的数据类型修饰符实际上的作用是定义指针访问内存的范围,如果指针 ...

随机推荐

  1. CodeForces 840A - Leha and Function | Codeforces Round #429 (Div. 1)

    /* CodeForces 840A - Leha and Function [ 贪心 ] | Codeforces Round #429 (Div. 1) A越大,B越小,越好 */ #includ ...

  2. for迭代多个对象

    1.传统方法 from random import randint chinese = [randint(60, 100) for _ in range(40)] math = [randint(60 ...

  3. learning express step(十四)

    learning express error handle code: const express = require('express'); const app = express(); const ...

  4. 18.4.1 考试解题报告 P71

    题目:https://files.cnblogs.com/files/lovewhy/problem.pdf 偷偷摘来dalao题面. P71竞赛时间:???? 年?? 月?? 日??:??-??:? ...

  5. win10以及ubuntu下设置pip源

    问题描述:有一段时间下载python库的时候速度非常慢,想着提高安装python库的速度. window10下: 一:首先进入c盘的用户目录,如我的目录为C:\Users\felix. 二:创建名为p ...

  6. pymysql基本使用

    导入模块 import pymysql 连接(看一下password有没有,没有的话会怎么样,有很多参数,有些参数也是可以不传的) conn = pymysql.connect(user = &quo ...

  7. 数据结构实验之二叉树四:(先序中序)还原二叉树 (SDUT 3343)

    #include <bits/stdc++.h> using namespace std; struct node { char data; struct node *lc, *rc; } ...

  8. [python]打印异常信息的不同方式

    异常捕获 try: execpt Exception as e: print(str(e)) 打印异常信息的方式 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常 ...

  9. 软件构造实验二-拷贝一个c文件 将其中的关键字int替换成float

    1,新建 Parser Generator 点击project --> new 2,填写工程名字 随意取一个名字 点击OK 3,点击Project选项下的 parserwizard 分析器向导选 ...

  10. Atcoder ABC 139B

    Atcoder ABC 139B 题意: 一开始有1个插口,你的插排有 $ a $ 个插口,你需要 $ b $ 个插口,问你最少需要多少个插排. 解法: 暴力模拟. CODE: #include< ...