您的位置:首页 > 其它

结构的简单实用

2014-11-19 20:51 204 查看
结构是一种复合的数据类型,他的定义如下

            “结构”是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。
结构即是一种“构造”而成的数据类型
那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。

           对于结构的一般形式如下:

                struct    结构名{

                                    //成员

                                  };

基于以上定义那么我现在对结构做一个简单的实用规则,对于以下的例子演示程序都是在VS2010上实用,并且是一个例子说明一个问题。

    例子1

#include "stdafx.h"

#include <iostream>

using namespace std;

struct Student {

         char name[20];
bool gender;
int age;
char addr[100];
double score;

};

int main()

{
Student s1={"3333333333333333333",false,18,"222222222",90};
std::cout<<s2.gender<<endl;

        return 0;

}

        此用例主要说明在给一个结构变量中的数组 赋值时在VS2010编辑器会对name这个数组做一下数组越界的判断,如果name数组的长度大于20则编辑器会提示。

例子2

#include "stdafx.h"

#include <iostream>

using namespace std;

struct Student {

         char name[20];
bool gender;
int age;
char addr[100];
double score;

};

int main()

{
Student s2;
std::cin>>s2.name;
s2.age=19;
s2.gender=false;
strcpy(s2.addr,"111111111");
s2.score=97;
std::cout<<s2.gender<<endl;

    return 0;

}

此次对于结构体的操作主要是表明数据会出现越界,这个是因为在我们cin的时候如果不注意name的长度那么会造成数组的越界,然而编辑器也不会提示我们,从而会对程序造成了不可预知的情况,这个需要程序员特别要注意的一点,希望在使用的过程中一定要考虑的数据的越界情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  结构 vs2010