结构的简单实用

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

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

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

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值