C++学习笔记(三)——结构struct

1.结构体声明

声明一个带名称的结构体之后,该名称可认为是用户自己定义的数据类型,和int,float等地位一样

也可以声明一个匿名结构,只能使用一次

#include<iostream>

#include<cstring>

#include<string>

using namespace std;

int main()
{
    //有名称声明
    struct product
    {
        string name;//产品名称
        int version;//产品型号
        double price;//产品价格
    };

    product product1;//声明一个类型为product的产品1
    product product2;//声明一个类型为product的产品2

    //匿名结构
    struct 
    {
        string name;//产品名称
        int version;//产品型号
        double price;//产品价格
    }product3;//product3的数据类型是这个没有名称的结构,只能用一次罗
    
    
}

2.结构体初始化和赋值

①直接按照结构体写法赋初值

#include<iostream>

#include<cstring>

#include<string>

using namespace std;

int main()
{
    struct product
    {
        string name;//产品名称
        int version;//产品型号
        double price;//产品价格
    };//结尾要有分号

    product product1;//声明一个类型为product的产品1
    
    product1 = 
    {
        "tea",   //成员之间用','间隔,字符串要引号
        2,
        4.99
    };           //结尾要有分号
}

②初值表初始化

注意:赋值用列表时候不能省略'='

#include<iostream>

#include<cstring>

#include<string>

using namespace std;

int main()
{
    struct product
    {
        string name;//产品名称
        int version;//产品型号
        double price;//产品价格
    };

    product product1;//声明一个类型为product的产品1
    product product2;//声明一个类型为product的产品2

    product1 = {"tea",3,3.4}; //赋值不可以省略=
    product product3 {"tea",2,4.99};//初始化可以省略=
}

3.结构体成员的使用和操作

读取对应的值

#include<iostream>

#include<cstring>

#include<string>

using namespace std;

int main()
{
    struct product
    {
        string name;//产品名称
        int version;//产品型号
        double price;//产品价格
    };

    product product1 = {"tea",2,4.99};//声明一个类型为product的产品1
    cout<<"product1.name = "<<product1.name<<endl;
    cout<<"product1.version = "<<product1.version<<endl;
    cout<<"product1.price  = "<<product1.price<<endl;
    
}

/****************运行结果********************

product1.name = tea
product1.version = 2
product1.price  = 4.99

*********************************************/

4.结构体数组

可以存储同一种结构的大量数据

#include<iostream>

#include<cstring>

#include<string>

using namespace std;

int main()
{
    struct product
    {
        string name;//产品名称
        int version;//产品型号
        double price;//产品价格
    };

    product products[2] = 
    {
        {"tea1",1,2.99},
        {"tea2",2,4.99}
    };
    //可以在声明时候赋初值,但是好像不可以声明后,赋值比如:
    //product products[2];
    //products[2] =  
    //{
    //   {"tea1",1,2.99},
    //    {"tea2",2,4.99}
    //};
    cout<<"product[0].name = "<<products[0].name<<endl;
    cout<<"product[0].version = "<<products[0].version<<endl;
    cout<<"product[0].price  = "<<products[0].price<<endl;
    
}


/********************运行结果***********************

product[0].name = tea1
product[0].version = 1
product[0].price  = 2.99

*****************************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值