首页 > 其他分享 >结构体和共用体

结构体和共用体

时间:2024-08-16 09:16:10浏览次数:8  
标签:Name int 成员 Student 共用 Age 结构

自定义数据类型

//定义格式:

struct 结构体名字{

成员1;

成员2;

成员3;

成员n;

};

//给字符串成员赋值时用strcpy

//练习1:将学生信息存放在数组中遍历

#include <stdio.h>

#include <string.h>

typedef struct Student{

char name[20];

int age;

}Student;

int main(){

int i;

Student S[3];

for(i = 0;i < 3;i++){

char Name[20];

int Age;

printf("请输入第%d个学生信息:",i + 1);

scanf("%s",Name);

strcpy(S[i].name,Name);

scanf("%d",&Age);

S[i].age = Age;

}

for(i = 0;i < 3;i++){

printf("第%d个学生信息:%s,%d\n",i + 1,S[i].name,S[i].age);

}

}

//结构体嵌套:

//结构体内存对齐:写结构体时从小往大写

共同体关键字:union

共用体使用同一个内存空间

每次只能给一个成员赋值,内存大小 = 最大成员长度

且长度是最大成员的整数倍

结构体表示一种事务多种属性

共用体表示一种属性的多种类型,例如心情有开心有悲伤,开心悲伤不能同时存在

image.png

标签:Name,int,成员,Student,共用,Age,结构
From: https://www.cnblogs.com/izxw/p/18362265

相关文章

  • 网课-数据结构学习笔记2
    树状数组局限性:若区间信息不可减(即无法由两个前缀信息推出),树状数组就显得力不从心了。P6225[eJOI2019]异或橙子Trick:异或具有交换律、结合律,可拆开考虑每个位置的贡献。P3372【模板】线段树1算法:区修区查树状数组核心思想是将式子拆开,维护\(\sumc[i]\)与\(\sum......
  • 【数据结构】关于树(二叉树)的基础理论知识,你知道吗???
    前言:......
  • 数据结构基本概念和术语
    概论1.1基本概念和术语1.1.1基本概念计算机处理的的是数值性数据,当计算机处理用户信息表中的数据的时候,需要弄清3个问题1.数据的逻辑结构数据之间存在怎样的内在联系,数据中,有且只有一个是首节点/尾结点,其他节点有且只有一个相邻的位于它之前和之后的结点2.数据的存储结构......
  • Redis数据结构ZipList详解、ZipList的连锁更新问题
    ZipListZipList是一种特殊的“双端链表”,由一系列特殊编码的连续内存块组成。可以在任意一端进行压入/弹出操作,并且该操作的时间复杂度为O(1)。属性类型长度用途zlbytesuint32_t4字节记录整个压缩列表占用的内存字节数zltailuint32_t4字节记录压缩列表表尾节点距离压......
  • Redis数据结构:动态字符串SDS、Intset、Dict详解
    动态字符串:我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题:获取字符串长度的需要通过运算非二进制安全不可修改Redis构建了一种新的......
  • C语言 ——— 结构体内存对齐
    目录发现问题 偏移量宏:offsetof()结构体内存的对齐规则小结 发现问题有以下两个结构体:结构体1:structS1{ charc1;//1字节 inti;//4字节 charc2;//1字节};结构体2:structS2{ charc1;//1字节 charc2;//1字节 inti;//4字节};通常情况下......
  • 循环结构
    循环结构while循环while(){}packagecom.yang.struct;publicclassWhileDemo01{publicstaticvoidmain(String[]args){//输出1-100inti=0;while(i<100){i++;System.out.println(i);}}......
  • 数据结构(一)
    目录1. 链表(LinkedList)链表的基本类型链表的基本操作链表的C语言实现示例(单向链表)链表的时间复杂度链表的空间复杂度2.栈(Stack)栈的基本操作栈的实现栈的应用场景示例:中缀表达式转后缀表达式(逆波兰表达式)3.队列队列应用场景1. 链表(LinkedList)链表是一......
  • 非接触式免补光变焦视觉位移监测仪让结构安全可视化 微米级监测
    变焦视觉位移监测仪的特点是什么呢?变焦视觉位移监测仪的特点是什么呢?表面位移监测,非接触式该设备运用嵌入式一体化设计理念,集成主流定焦机器视觉的全方位功能,即插即用,无需繁琐的系统组装与配置。它具备自动变焦能力,可自动扫描400米范围内上千个无源靶标,实现广泛覆盖......
  • BM100 设计LRU缓存结构
    1.题目描述设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为capacity,操作次数是n,并有如下功能:1.Solution(intcapacity)以正整数作为容量capacity初始化LRU缓存2.get(key):如果关键字key存在于缓存中,则返回key对应的value值,否则返回-1。3.......