美文网首页
C 语言之结构体

C 语言之结构体

作者: CarsonChen | 来源:发表于2016-01-06 21:49 被阅读139次

一. 结构体定义

结构体类型的定义需要用到关键字struct,student是结构体类型名,大括号中的变量声明表示结构体成员,意思是该结构体将来可以存储何种类型的数据.

struct student {

char name[100];

int age;

char sex;

};

在定义结构体类型时使用匿名结构体同时使用typedef对匿名结构体做类型定义

typedef struct {

float x;

float y;

} point;

定义时,可直接调用point类型声明变量

二. 结构体赋初值

point p = {20.1,30.1};

其中初始值的个数与类型必须跟结构体类型成员列表的类型和个数一致.结构体是一个构造类型,如果访问结构体变量的数据时,需要通过点语法连接对应结构体变量名和成员去访问,例如p.x表示p结构体的x值.

math.h头文件下的函数 

1. pow(a,x) 计算a的x次方的函数

2. sqrt(a) 计算根号a的值

3. abs(a) 计算a的绝对值 整型用abs() 浮点型用 fabs()

结构体中如果成员有字符串时,可以使用字符数组,也可以使用字符指针,但是在对该成员重新赋值时有所区别,字符数组描述时重新赋值需要使用strcpy函数进行拷贝,字符指针描述时只需要直接赋值完成指针的重指向.

利用结构体可以直接赋值的操作,可以简化代码量,进行对数组直接赋值的操作,不用借助for循环.

三. 嵌套结构体

在结构体声明后,后结构体中的成员可以用声明过的结构体声明的变量.

为结构体的嵌套

四. 结构体所占内存计算

为其成员的最大数据类型的最小整数划分

例如:

typedef struct {

char a;//8

char b;

int c;

long d;//8

char e[20];//24

float f;

} Test;

该计算机为64位操作系统

即先找出最大类型所占的字节数,即为long型8位,首先分配8个字节,存取a,b,由于c的类型为int型,剩下6个字节的后4个正好存储,d为long再进行分配8个字节,e为char类型的数组,长度为20,但结构体分配内存存在内存对其规定,则需要24个字节,f为float类型,正好e数组剩余4个字节补进.

五. 结构体数组

与整型数组类似,即为一组相同结构体类型的元素的有序序列.

int a[10] = {0};

point p[10] = {0};

point为上述定义的结构体,即表示为一组具有point类型的元素的数组,元素个数为10.

六. 利用结构体直接给数组直接赋值

typedef struct {

int a[3];

}Array;

Array array = {{1,2,3}};

Array copyArray = array;

通过结构体的性质,结构体的对象可以进行直接赋值操作,即可以进行对数组的直接赋值操作.

相关文章

  • C 语言之结构体

    一. 结构体定义 结构体类型的定义需要用到关键字struct,student是结构体类型名,大括号中的变量声明表示...

  • (四)C语言之结构体

    (四)C语言之结构体 一、什么是结构体 结构体是一种构造数据类型,就是把不同的数据类型整合起来成为一个自定义的数据...

  • C语言之结构体(struct)

    结构体,怎么理解? 你可以把它想象成一个桌面上的文件夹,这个文件夹里面可以有各种各样的文件,当然也还可以再有文件夹...

  • 505,iOS __bridge那些事

    Objective-C 与 C语言之间的转换 C语言的结构体(struct或union)成员中,如果存在Objec...

  • C语言基础6

    结构体概述 1 在C语言中,结构体(struct)指的是一种数据结构,是C语 言中构造类型的其中之一。 2 在实际...

  • C语言和OC的结构体(struct)

    Struct(结构体) 1.结构体定义 2.结构体变量 3.结构体数组 4.C语言结构体指针 5.C语言共用体 6...

  • c语言中的结构体

    1、结构体的声明(1)结构体的关键词是struct第一种声明 第二种声明 第三种声明 2、结构体定义变量在C++语...

  • 《The Big Nerd Ranch Guide》笔记1

    一、C结构体与Objective-C类之间: 共同点:C结构体是一块内存,对象也是一块内存。C结构体有数据成员,每...

  • c语言中的结构体

    结构体是 C 语言主要的自定义类型方案,这篇就来认识一下结构体。 一、结构体的形态 C源程序(struct.c):...

  • 闲聊C语言结构体

    结构体是 C 语言主要的自定义类型方案,这篇就来认识一下结构体。 一、结构体的形态 C源程序(struct.c):...

网友评论

      本文标题:C 语言之结构体

      本文链接:https://www.haomeiwen.com/subject/lytfkttx.html