当前位置: 首页 > java >正文

学习c语言的第16天

枚举类型介绍

typedef关键字

        在 C 语言里,int[10] 的确不是一种常规的写法,不过它能清晰表达数组类型的本质。下面从几个方面详细解释这种类型以及为何不常见。

数组类型的本质

        在 C 语言中,每个数组都有其独特的类型,该类型由元素类型和数组长度共同决定。例如,int arr[10]; 里的 arr 变量,其类型就是 “包含 10 个 int 类型元素的数组”,可以抽象表示成 int[10]

为何不常见

        在日常编写代码时,我们一般不会直接用 int[10] 这种形式。通常是直接声明数组变量,像 int arr[10]; 这样,而不是先提及类型再声明变量。不过在使用 typedef 关键字定义新类型名,或者在函数参数、返回值等场景里涉及数组类型时,这种抽象表示方式就会体现出它的作用。

        typedef 目的是为数据类型取别名。在 typedef struct { int data1; int data2; } demo; 中,struct { int data1; int data2; } 是一个匿名结构体(没给结构体命名),用 typedef 给它定义别名 demo 。后续声明变量直接 demo d; 就行。此时有无结构体名(如 ttt ),都不影响通过别名声明变量,所以可以省略结构体名。

typedef与结构体的小应用

结构体变量和数组的区别

  • 数组它是相同类型元素的集合,这些元素在内存中连续存储。数组名在很多情形下会隐式转换为指向数组首元素的指针。例如,int arr[5] = {1, 2, 3, 4, 5}; 里,arr 代表的是一个包含 5 个 int 类型元素的数组,arr 本身能当作指向数组第一个元素 arr[0] 的指针使用。
  • 结构体:它是由不同类型的数据成员组合而成的自定义数据类型。结构体变量是这个自定义类型的一个实例,它包含了结构体定义里的所有成员。
  • *pPerson:这是为指向 struct {...} 类型的指针定义的别名。pPerson 实际上代表的是 struct {...} * 类型,也就是指向该结构体的指针类型。之后就能够使用 pPerson 来声明结构体指针变量,例如 pPerson ptr;,这等同于 struct {...} *ptr;

这个Person和这个*pPerson在末尾的形式

要是都想表示指针的话,要懂得这样的写法

Person  *str=&p1  一般这个见得多,也用的多

pPerson  str=&p1 这两个就是一个意思   

http://www.xdnf.cn/news/3581.html

相关文章:

  • 用c 编写的笔记搜索程序
  • 每天学一个 Linux 命令(33):uniq
  • DarkGS:论文解读与全流程环境配置及数据集测试【基于Ubuntu20.04 】【2025最新实战无坑版!!】
  • Linux工作台文件操作命令全流程解析
  • mescroll.js 是在 H5端 运行的下拉刷新和上拉加载插件
  • 网络编程——Socket 编程详解(TCP / UDP)
  • C++拷贝构造函数详解
  • 使用 Mermaid 在 Markdown 中绘制图表
  • 数字智慧方案6213丨智慧园区规划方案(63页PPT)(文末有下载方式)
  • AI大模型-解决开发环境配置不足问题
  • 【AIStarter苹果版发布】黑苹果部署教程+跨平台AI应用测试指南
  • HCL(HashiCorp Configuration Language)是一种结构化配置语言
  • 13.多边形的三角剖分 (Triangulation) : Triangulation
  • 我的日记杂文
  • 中小企业MES系统详细设计
  • Rain World 雨世界 [DLC 解锁] [Steam Epic] [Windows SteamOS]
  • 新手SEO优化核心步骤
  • 《筑牢防线:全方位守护移动应用免受逆向侵扰》
  • 【JavaScript-Day 1】从零开始:全面了解 JavaScript 是什么、为什么学以及它与 Java 的区别
  • 【云盘】使用阿里云盘托管项目大文件
  • 销售总监求职简历模板
  • ACGRIME:用于全局优化和特征选择的自适应混沌高斯RIME优化器,附完整版免费代码
  • 65. Java 类和对象 - 创建和使用类与对象:摘要
  • [SoC]AXI总线Performance验证方案
  • 一天学完JDBC!!(万字总结)
  • 机器学习中的学习率及其衰减方法全面解析
  • 值此五一劳动节来临之际,
  • Java 入门:自定义标识符规则解析
  • ECMAScript 2(ES2):标准化的微调与巩固
  • STM32MP157开发板设置静态IP地址