原创 无言 C语言编程学习基地 2020-12-18

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++

什么是结构?

结构是C / C ++中用户定义的数据类型。结构创建一个数据类型,该数据类型可用于将可能不同类型的项目分组为单个类型。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_02

如何建立结构?

'struct'关键字用于创建结构。以下是一个示例:

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_03

如何声明结构变量?

结构变量既可以用结构声明来声明,也可以像基本类型一样声明为单独的声明。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_04

注意:在C ++中,在声明变量之前,struct关键字是可选的。在C中,它是强制性的。

如何初始化结构成员?

结构成员不能使用声明进行初始化。例如,以下C程序编译失败。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_05

发生上述错误的原因很简单,当声明数据类型时,不会为其分配任何内存。仅在创建变量时分配内存。

可以使用花括号“ {}”初始化结构成员。例如,以下是有效的初始化。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_06

如何访问结构元素?

使用Point()运算符访问结构成员。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_07

输出:x = 20,y = 1

什么是初始化?

指定初始化允许以任何顺序初始化结构成员。此功能已在C99标准中添加。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_08

输出:x = 2,y = 0,z = 1x = 20

此功能在C ++中不可用,仅在C中可用。

什么是结构数组?

像其他原始数据类型一样,我们可以创建结构数组。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_09

输出:10 20

什么是结构指针?

像原始类型一样,我们可以拥有指向结构的指针。如果有指向结构的指针,则使用箭头(->)运算符访问成员。

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_10

输出:1 2

C结构的局限性

用C语言,结构提供了一种将不同类型的数据打包在一起的方法。结构是处理一组逻辑上相关的数据项的有用工具。但是,C结构具有一些局限性。

(1)C结构不允许将struct数据类型视为内置数据类型:

(2)我们不能在Structure变量上使用+,-等运算符。例如,考虑以下代码:

C/C++编程笔记:深入解析C语言结构!带你看懂C语言代码_c++_11

无数据隐藏: C结构不允许数据隐藏。在结构范围内的任何位置,都可以通过任何功能访问结构成员。

结构内部的功能: C结构不允许结构内部的功能

静态成员: C结构体内不能有静态成员

访问修饰符: C编程语言不支持访问修饰符。因此它们不能在C结构中使用。

在Structure中创建构造: C中的Structure不能在Structure内部具有构造函数。

今日分享就到这里咯!希望对大家有帮助哦~