当前位置: 首页 > news >正文

C++结构体可放在函数内部和外部

定义的结构体测试源码:

结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。

声明一个结构体类型的形式是:

struct Student{      //声明一个结构体类型Student 
	int num;         //声明一个整形变量num 
	char name[20];   //声明一个字符型数组name 
	char sex;        //声明一个字符型变量sex 
	int age;         //声明一个整形变量age 
	float score;     //声明一个单精度型变量 
	char addr[30];   //声明一个字符型数组addr 
}

结构体类型变量的定义方法及初始化

函数外部时

#include <iostream>
using namespace std;

struct Student
{                  //声明一个结构体类型Student
    int num;       //声明一个整形变量num
    char name[20]; //声明一个字符型数组name
    char sex;      //声明一个字符型变量sex
    int age;       //声明一个整形变量age
    float score;   //声明一个单精度型变量
    char addr[30]; //声明一个字符型数组addr
    int array;
};
Student student1, student2; // 定义结构体类型变量student1和student2

int main()
{
    cout << sizeof(Student) << endl;
    cout << sizeof(student1) << endl;
    cout << sizeof(student2) << endl;
    system("pause");
    return 0;
}

执行结果:
在这里插入图片描述

函数内部时

#include <iostream>
using namespace std;

int main()
{
    struct Student
    {                  //声明一个结构体类型Student
        int num;       //声明一个整形变量num
        char name[20]; //声明一个字符型数组name
        char sex;      //声明一个字符型变量sex
        int age;       //声明一个整形变量age
        float score;   //声明一个单精度型变量
        char addr[30]; //声明一个字符型数组addr
        int array;
    };
    Student student1, student2; // 定义结构体类型变量student1和student2
    
    cout << sizeof(Student) << endl;
    cout << sizeof(student1) << endl;
    cout << sizeof(student2) << endl;
    system("pause");
    return 0;
}

执行结果:
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 程序员——[小鸟语录]
  • Matlab使用笔记(九):matlab实现交通流仿真/车感知/城市交通交叉路口
  • 2004年7月5日
  • 完美汇总在Ubuntu下gdb调试的方法和编译技巧(包括gcc和g++编译环境)
  • 广州求职指南(2004版)
  • C语言结构体完整解析(五):结构作为函数参数
  • C语言使用指针插入元素
  • 深圳求职指南(2004版)
  • Matlab使用笔记(四):将编写完matlab函数放入simulink模型
  • 2004年7月6日
  • Matlab使用笔记(六):给建立的simulink模型输入向量常数参数实现可视化并指定返回需要的结果值
  • Matlab使用笔记(七):将PreScan连接MATLAB实现仿真 (附录:自动无人驾驶仿真软件PreScan的应用介绍)
  • Mobile Hot Five!未来移动设备之五大值得期待的热点
  • C语言使用技巧(一):C语言枚举类型typedef enum作为函数返回值及函数参数
  • 2004年7月8日
  • [译]如何构建服务器端web组件,为何要构建?
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【EOS】Cleos基础
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • gops —— Go 程序诊断分析工具
  • isset在php5.6-和php7.0+的一些差异
  • java概述
  • Meteor的表单提交:Form
  • Netty 4.1 源代码学习:线程模型
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • vue学习系列(二)vue-cli
  • 初识 webpack
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 浅谈Golang中select的用法
  • 算法-插入排序
  • 微信小程序开发问题汇总
  • postgresql行列转换函数
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​数据结构之初始二叉树(3)
  • #FPGA(基础知识)
  • $L^p$ 调和函数恒为零
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (7)STL算法之交换赋值
  • (C++)八皇后问题
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (编译到47%失败)to be deleted
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (四)stm32之通信协议
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一) springboot详细介绍
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)memcache、redis缓存
  • (转)一些感悟
  • **PHP二维数组遍历时同时赋值
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .gitattributes 文件