C语言复习之结构体基础知识
什么是C语言立体结构呢?让我们一起来看看下面的小知识吧!希望对您有所帮助!
一.基础知识
1.聚合数据类型(aggregate data type)能够同时存储超过一个的单独数据。C提供了两种类型的聚合数据类型,数组和结构。
(1)数组是相同类型的元素的集合,它的每个元素是通过下标引用或指针间接访问来选择的。
(2)结构也是一些值的集合,这些值称为它的成员(member),但一个结构的各个成员可能具有不同的类型。
2.数组元素可以通过下标访问,这只是因为数组的元素长度相同。
3.由于一个结构的成员可能长度不同,所以不能使用小标来访问它们。相反,每个结构成员都有自己的名字,它们是通过名字访问的.。
4.结构并不是一个它自身成员的数组。和数组名不同,当一个结构变量在表达式中使用时,它并不被置换成一个指针。结构变量也无法使用下标来选择特定的成员。
5.结构变量属于标量类型,结构也可以作为传递给函数的参数,它们也可以作为返回值从函数返回,相同类型的结构变量相互之间可以赋值。
6.可以声明指向结构的指针,取一个结构变量的地址,也可以声明结构数组。
二.结构声明
1.在声明结构时,必须列出它包含的所有成员。该列表包括每个成员的类型和名字。
eg:
struct tag{
member-list;
}variable-list;
结构体声明由三部分组成,tag,member-list,variable-list。所有可选部分不能全部省略---它们至少出现两个。
1>例子:
struct {
int a;
char b;
float c;
}x;
这个声明创建了一个名叫x的变量,它包含三个成员:一个整数、一个字符和一个浮点数。
struct {
int a;
char b;
-
C语言自增(++)和自减(--)
C语言源自KenThompson发明的B语言,那么大家知道C语言自增(++)和自减(--)是什么呢?下面一起来看看!一个整数自身加一可以这样写:a+=1;它等价于a=a+1;。但是在C语言中还有一种更简单的写法,就是a++;或者++a;。这种写法叫做自加或自增;意思很明确,就是自身加一。相应...
-
c#实现sunday算法实例
Sunday算法思想跟BM算法很相似,在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符,下面小编为大家整理了c#实现sunday算法实例,希望能帮到大家!因正则表达式搜索总是出现死循环,开始考虑改为其他搜索方式,因为自带的IndexOf默认只能找到第一个或最后一...
-
C++跳转语句之Goto对变量定义的影响详解
goto语句也称为无条件转移语句,以下是为大家分享的C++跳转语句之Goto对变量定义的影响详解,供大家参考借鉴,欢迎浏览!前言goto语句也称为无条件转移语句,其基本形式如下:语句标号由一个有效地标识符和符号";"组成,其中,标识符的命名规则与变量名称相同,即由字母、数字...
-
如何在c语言中调用Linux脚本
如何在c语言中调用Linux脚本呢?你知道如何在c语言中调用Linux脚本吗?下面是小编为大家带来的如何在c语言中调用Linux脚本的知识,欢迎阅读。一、引言对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系...