首页 > 其他分享 >c语言---- 结构体

c语言---- 结构体

时间:2024-04-03 14:31:34浏览次数:14  
标签:语言 字节 struct ---- 数组 空间 结构 指针

1.怎么定义一个结构体:

1. struct 这个变量名就是跟电脑说明,我是一个结构体。

2. 在struct后面的名字是要大写开头的。

3.在大括号结束了,一定要加分号;

2.结构体数组就是跟之前的数组一样的,就是名字前面的变量改成了结构的,还有里面的数,跟二维数组差不多:

3.结构体指针

指针 == 地址 所以结构体指针也是用地址

结构体直接访问是用“.”

使用指针的形式去间接访问是用 "->"

他们表达的意思和之前的函数指针是一样的

结构体二级指针:

就是把函数名换成结构体类型的变量名然后通过二级指针指向之前的一级指针,使用二级指针来进行需要注意的是,在这里它使用了动态变量malloc字符串,所以要注意字符串的使用方式

结构体的字节对齐:

如果一个结构体里面有不同类型的变量,那么它的内存分配空间是不一样的;

在一些条件下,我们要对空间进行压缩,让它的空间更加分配得好,那么就要注意字节对齐

比如有一个结构体,他的类型int型,char型,double型,他们分别是四个字节,一个字节,八个字节,那么在统计的时候是按八个字节为一个整体,其他的就补上,那么怎么要合理分配空间呢,那就要同类型的放在一起,作用就是让它的补上空间利用好

标签:语言,字节,struct,----,数组,空间,结构,指针
From: https://blog.csdn.net/Y2002168/article/details/137278520

相关文章

  • 09-代码随想704二分查找
    704二分查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示......
  • js 模块化
    一、什么是模块化?1.1定义将一个复杂的程序依据一定的规则(规范)封装成几个块(文件),并进行组合在一起块的内部数据/实现是私有的,只是向外部暴露一些接口(方法)与外部其它模块通信 1.2模块化的进化过程 1.2.1全局function模式*全局函数模式:将不同的功能封装......
  • idea从零到精通07之idea数据库管理,作为移动开发程序员
    作者简介引言导航热门专栏推荐视频讲解概述一、打开Database管理界面二、配置数据库连接三、在图形化界面操作四、在控制台查询五、在控制台执行操作六、数据导出方法1,直接在结果控制台导出方法2,在Database管理区中导出七、数据结果的多种展示......
  • C语言------------指针
    指针的类型:指针:在学习指针之前,要有一个认知,那就是指针==地址;指针的基本使用:​​这里要注意三点:1.*标识符—————只产生在指针变量定义或声明的时候;2.指针的类型要和被赋值的类型一致;3.*p=*(p)这2个的意思是一样的;在scanf中,不能使用指针进行;上面的是最基......
  • MySQL数据库:第十六章:sql高级函数,和腾讯大牛的技术面谈
    CURDATE()或CURRENT_DATE()返回当前的日期CURTIME()或CURRENT_TIME()返回当前的时间DATE_ADD(date,INTERVALintkeyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_ADD(CURRENT_DATE,INTERVAL6MONTH);DATE_FORMAT(date,fmt......
  • K11998 括号画家
    题目描述小科是一名漫画家,他有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的他画了一排括号序列,其中包含小括号()、中括号[]和大括号{},总长度为N。这排随意绘制的括号序列显得杂乱无章,于是小科定义了什么样的括号序列是美观的:①空的括号序列是美观的;②若括号序列A是......
  • Quill文档(六):Parchment详解
    Parchment是Quill的文档模型。它是与DOM树并行的树形结构,并为内容编辑器(如Quill)提供有用的功能。Parchment树由Blots组成,这些Blots镜像了DOM节点的对应物。Blots可以提供结构、格式和/或内容。Attributors还可以提供轻量级格式信息。注意:您不应使用new直接......
  • 逆袭大厂之路——Java程序员必备金九银十跳槽面试涨薪秘籍
    JAVA集合JAVA多线程并发JAVA基础Spring原理微服务Netty与RPC网络ZookeeperKafka自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是......
  • WPF-基础及进阶扩展合集(持续更新)
    目录一、基础1、GridSplitter分割线2、x:static访问资源文件3、wpf触发器4、添加xaml资源文件5、Convert转换器6、多路绑定与多路转换器二、进阶扩展1、HierarchicalDataTemplate2、XmlDataProvider从外部文件获取源3、TextBox在CellTemplate中的焦点问题4、让窗体......
  • Python-脆弱性信息收集
    公司做系统集成,有搜集产品脆弱性需求,包括cisco,vmware,redhat,F5等厂家。如:SecurityAdvisories具体需求:1.每天定时搜集十来个网络设备厂家网站新发布的脆弱性2.根据产品和等级不同,邮件发给不同公司人员,内容包括:新脆弱性链接,脆弱性标题,CVE编号,发布时间等2.不能发送重复脆弱性......