文档章节

C/C++结构体定义

JasonWung
 JasonWung
发布于 2016/08/11 19:09
字数 321
阅读 11
收藏 0

在C语言和C++中,结构体定义是存在区别的,比如在C语言中定义结构体,首先是使用typedef。

typedef struct Student{
    int age;
}Stu;

此时定义的结构体。可以使用 struct Student stu1 来声明变量。当然也可以使用Stu stu1 来声明,因为此时已经将struct Student 定义为Stu。

#include <stdio.h>
typedef struct Student{
	int a;
}Stu;
int main()
{
  	 struct Student stu1;
  	 stu1.a = 17;
  	 printf("第一个:%d\n", stu1.a);
  	 Stu stu2;
  	 stu2.a = 18;
     printf("第二个:%d\n", stu2.a);
     return 0;
}

而此时C++ 只需要定义 struct Student就可以了

#include <iostream>
using namespace std;
struct Student{
    int a;
}stu2;  //声明结构体的同时声明变量
int main() {
    struct Student stu1;
    stu1.a = 18;
    stu2.a = 19;
	cout  << "第一个:"<< stu1.a<<endl;
	cout  << "第二个:"<< stu2.a<<endl;
	return 0;
}

声明的同时可以直接声明一个变量,比如stu2。而在后续的声明中,可以直接使用 struct Student 来声明新的变量。如果不声明这个结构体的名称,则无法声明对于的变量,此处就不能声明stu1

#include <iostream>
using namespace std;
struct {
    int a;
}stu2;  //声明结构体的同时声明变量
int main() {
    //struct Student stu1;
    //stu1.a = 18;
    stu2.a = 19;
	//cout  << "第一个:"<< stu1.a<<endl;
	cout  << "第二个:"<< stu2.a<<endl;
	return 0;
}

未完待续

© 著作权归作者所有

共有 人打赏支持
上一篇: 编译安装nginx
下一篇: Ubuntu16.04 安装ftp
JasonWung
粉丝 3
博文 50
码字总数 12806
作品 0
海淀
程序员
私信 提问
技术原理:C语言中函数指针数组浅析

发现问题 今天,在阅读Linux内核中关于socket的源代码时,遇到了下面一段代码: 在这段代码中,我们注意到proto_ops结构体的成员包括下面这样的成员变量: 这边是函数指针作为结构体成员变量...

adoryn
2015/04/01
0
0
在MFC中添加结构体导致结构体无法识别

我用MFC做界面,然后在窗口中有一个算法需要处理,算法涉及到结构体还有涉及该结构体的函数,我将结构体和涉及该结构体的函数定义在类之外(全局的),然后在窗口类中利用该结构体定义其他变...

ShiningPig
2013/06/08
931
4
C语言基础教程之typedef

C语言 typedef C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 BYTE: typedef unsigned char BYTE; 在这个类型定义之后,标识符...

这个人很懒什么都没留下
08/14
0
0
C#调用C++方法,C#使用c++方法返回类或结构体

C#调用C++方法,C#使用c++方法返回类或结构体。 1. 在c++中定义结构体,类,处理方法;要给c#调用的方法要加extern "C" __declspec(dllexport) 修饰 2. 在C#中使用C++方法,首先需要定义C++...

长平狐
2012/06/08
545
0
Objective-C 中类的数据结构

一、类的结构 OC 中的代码在底层实现,使用的是 C、C++,所以要研究 OC 中的类结构,可以将 OC 的代码转成 C++的代码即可。首先看一下 NSObject 的结构是什么样子的,创建一个文件并简单的编...

CoderHG
04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
31
0
MYSQL索引

索引的作用 索引类似书籍目录,查找数据,先查找目录,定位页码 性能影响 索引能大大减少查询数据时需要扫描的数据量,提高查询速度, 避免排序和使用临时表 将随机I/O变顺序I/O 降低写速度,占用磁...

关元
昨天
15
0
撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
昨天
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部