欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 学习c语言的第16天

学习c语言的第16天

2025/5/3 7:26:43 来源:https://blog.csdn.net/dhdhshshw2/article/details/147669464  浏览:    关键词:学习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 这两个就是一个意思   

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词