初学者

如果尚有余力,就去保护美好的东西。

结构体浅谈

结构体:

1、  什么是结构体?

a)        结构体使用户根据实际需要来定义的一些符合的新的数据类型。把基本数据类型组合在一起,形成的一个新的复合数据类型。

//定义一个学生类型的结构体

struct Student

{

         int age;

         char sex;

         float score;

};

2、  为什么要用结构体?

a)        为了表示复杂的数据类型,而基本类型无法满足实际需求。

b)        逻辑上讲一个学生的成绩、性别、成绩应该是一个整体,而在基本类型中并没有这样一种数据类型能表示这样的学生。因此我们就需要自己构造一个这样的数据类型。

3、  定义一个结构体就相当于定义了一个数据类型。但是并没有开辟空间。也就是没有定义变量。

a)        但是在定义变量的时候在前面需要加上struct

4、  如何定义一个结构体

//定义一个学生类型的结构体

struct Student

{

         int age;

         char sex;

         float score;

};

在其他的函数中使用的:structStudent str; 这是最常用的一种定义方式。

 

//定义一个学生类型的结构体

struct Student

{

         int age;

         char sex;

         float score;

} stu_02;  在定义结构体的同时定义了结构体的变量名字。第二种定义方式

 

//定义一个学生类型的结构体

struct

{

         int age;

         char sex;

         float score;

} stu_03; 不用数据类型名,直接定义变量名。第三种定义方式。

5、  初始化结构体。

a)        如果没有在定义的时候进行全部变量的初始化,在后来再进行赋值的时候就只能进行单个赋值。

6、取出结构体中的变量。

#include "stdio.h"

//定义一个学生类型的结构体

struct Student

{

         int age;

         char sex;

         float score;

};

int main(void)

{

         struct Studentstu={18,'F',60};

         printf("%d,%c,%f\n",stu.age,stu.sex,stu.score);

         struct Student*pStu=&stu;

         pStu->age=30;

         printf("%d\n",pStu->age);

         return 0;

}

         结构体中的变量的取值分为两种方式:

1、  结构体变量名.变量名(内部)

2、  结构体指针变量->变量名(内部)

如果在编译器中没有提示的话,编译一下就会出现。   

如上的代码中。pStu->age等价于(*pStu).age等价于stu.age

pStu->的含义就是*pStu。而*pStu就代表pStu指向的变量stu。因此上述三个是等价的。 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/maidi_2015/article/details/46778581
文章标签: 结构体
上一篇指针浅谈
下一篇结构数组,结构数组类型(typedef)
想对作者说点什么? 我来说一句

浅谈OFBIZ.doc

2009年07月07日 930KB 下载

非常棒的缓存技术教程

2011年03月30日 471KB 下载

浅谈CSRF攻击方式

2011年03月09日 295KB 下载

ERP\erp浅谈ERP\erp浅谈

2010年07月16日 2.19MB 下载

浅谈GoogleEarth二次开发技术

2011年11月01日 325KB 下载

浅谈C++容器.pdf

2010年01月16日 275KB 下载

没有更多推荐了,返回首页

关闭
关闭