结构的简单实用

来源:互联网 发布:财务金融知乎 编辑:程序博客网 时间:2024/05/01 02:03

结构是一种复合的数据类型,他的定义如下

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

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

                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的长度那么会造成数组的越界,然而编辑器也不会提示我们,从而会对程序造成了不可预知的情况,这个需要程序员特别要注意的一点,希望在使用的过程中一定要考虑的数据的越界情况。





0 0
原创粉丝点击