float f;
char s[20];
}y[4];
为了访问结构体aa中结构体变量y[2]的m[1][4]这个变量,可写成:
326y[2].m[1][4]
327【结构体与函数】
C语言中允许用结构体变量作为函数参数向所调用的函数传递整个结构体变量的内容。需要注意的是:结构体类型的实参和形参必须具有相同的结构体类型;结构体变量的形式与数组类似,含有多个成分,但是结构体与数组不同的是,结构体变量的名称并不表示结构的地址,所以在使用结构体变量名称作为参数时,函数之间传递的是结构体变量的内容,是值传递。
在程序设计时,有时希望函数返回一个结构体类型的值作为函数值。为达到此目的,应将
函数的返回值类型定义为结构体类型,这类函数可以称之为结构体类型函数。其一般的定义形式如下:
struct 结构体名 函数名(参数表)
对于这一部分知识在此不再举例,读者可以参见其他的参考书。
【结构体与指针】
结构体数组不能作为参数传递给函数 整型、字符型、数组和函数都有各自的指针,同样,结构体也有其自己的指针。结构体变量的指针就是该变量所占据的内存段的起始地址。这样就可以像定义指向其他类型数据的指针变量一样来定义指向结构体变量的指针变量。结构体指针变量的值就是该结构体变量的起始地址。指针变量可以指向单个的结构体变量,当然也可以指向结构体数组中的元素。定义结构体指针变量的一般形式是:
struct 结构体名 *结构体指针变量名
例如,在前面已经定义了结构体student,下面就可以定义结构体指针变量了:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论