C语言中的struct和person解析
导读###结构(struct)概述结构是由基本数据类型组合而成,通过标识符进行命名,包含不同数据类型的组合。在TurboC中,结构也是一种数据类型,可以定义结构...
### 结构(struct)概述
结构是由基本数据类型组合而成,通过标识符进行命名,包含不同数据类型的组合。在Turbo C中,结构也是一种数据类型,可以定义结构变量。结构的定义格式如下:
```css
struct 结构名 {
类型 变量名;
类型 变量名;
...
} 结构变量名;
```
其中,结构名是结构的标识符,不是变量名。结构的成员可以是第二节中讲述的五种数据类型(整型、浮点型、字符型、指针型和无值型)。每个结构成员称为结构成员,通过变量名来访问。
### 结构变量的定义与示例
下面是一个定义结构变量的例子:
```css
struct string {
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} person;
```
这个例子定义了一个名为string的结构,并定义了一个结构变量person。如果只定义结构而不定义变量,可以用结构名来定义结构变量。如果需要定义多个具有相同形式的结构变量,可以先进行结构说明,再用结构名来定义变量。
### 无名结构与结构指针
如果省略结构名,则称为无名结构。这种情况常出现在函数内部。结构作为一种数据类型,可以定义结构变量或结构指针变量,视定义的位置而定。
### 结构变量的运算与引用
在编程过程中,我们常常需要知道某个变量或数组在内存中所占用的空间大小。这可以通过`sizeof`函数或运算符来实现。
```
int len_a = 计算变量a的字节大小;
int len_arr = 计算数组arr的字节大小;
int len_str = 计算字符串str的字节大小;
printf("len_a=%d,len_arr=%d,len_str=%d\n", len_a, len_arr, len_str);
结果显示:len_a为4字节,len_arr为12字节,len_str为6字节。
拓展知识:
在Pascal编程语言中,`sizeof()`是一个用于测量内存容量的函数。它能够返回变量或类型的大小(以字节为单位)。
而在C语言中,`sizeof()`则是一个用于判断数据类型或表达式长度的运算符。无论是Pascal还是C语言,`sizeof()`的处理都是在编译阶段进行的。
值得一提的是,`sizeof`在C/C++语言中是一个重要的操作符。简单来说,它的作用就是返回对象或类型的内存字节数。
根据MSDN的解释:`sizeof`关键字能够给出与变量或类型(包括聚合类型)相关联的存储量,单位为字节。这个关键字返回的值类型为`size_t`。
在C语言中,还有一个关键字`typedef`,它为数据类型定义了一个新的名字,使得编程更加便捷。
`typedef`的用途十分广泛。它可以为变量起一个容易记忆且意义明确的别名,使得代码更加易读。通过`typedef`可以简化复杂的类型声明,提高编程效率。
`typedef`是一种存储类关键字,不能与`auto`、`extern`、`mutable`、`static`、`register`等关键字在同一个表达式中出现。
其使用方法包括:
1. 常规变量类型定义:例如,使用`typedef`为无符号字符定义了一个别名`uchar`。
2. 数组类型定义:例如,使用`typedef`定义了一个包含两个整数的数组类型。
3. 指针类型定义:使用`typedef`可以为指针定义别名,使其在代码中更加易用。
4. 函数地址说明:在C语言中,函数名被视为函数的首地址,我们可以通过简单的方法获取函数地址。
以上就是关于`sizeof`和`typedef`的介绍和示例,希望对您的编程工作有所帮助。如需更多信息,请参考百度百科等相关资料。
网址:C语言中的struct和person解析 http://www.mxgxt.com/news/view/1186815
相关内容
C语言中变量前加#的含义与变量命名中的特殊字符解析(解析2024版)C语言中的class与new用法解析
剖析C语言中a=a+++++a的无聊问题
c罗如何学的语言
宋琦琦
“一”人代言的魅力:品牌代言人数如何影响消费者的品牌态度
雅思口语part2话题卡:Describe a person who you follow on social media 社交媒体上关注的人
高一上学期语文期中模拟考试试题及答案解析
历史名人轨迹的空间可视化与分析
C语言面试题目:把int 直接赋值给char 例如char c = 10;