文档章节

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;
}

未完待续

© 著作权归作者所有

共有 人打赏支持
JasonWung
粉丝 3
博文 50
码字总数 12806
作品 0
海淀
程序员
C语言基础教程之typedef

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

这个人很懒什么都没留下
08/14
0
0
C#调用C的Dll(类型对照)

C#调用C的DLL //C++中的DLL函数原型为 //extern "C" declspec(dllexport) bool 方法名一(const char 变量名1, unsigned char 变量名2) //extern "C" declspec(dllexport) bool 方法名二(cons......

KavenSu
2014/04/30
0
0
Objective-C 中类的数据结构

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

CoderHG
04/22
0
0
typedef struct与struct的区别 自学

第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(str...

itJackChen
2011/08/11
0
1
C/C++语法知识:typedef struct 用法详解

第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(str...

AlphaJay
2011/07/28
0
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring 容器实现对bean的管理(注解方式解析,源码阅读)

因为最近在研究学习spring boot,所以这里想详细学习回顾了一下spring 容器对bean的一些管理方式和部分源码学习。 首先初始类AnnotationConfigApplicationContext,简单源码查看,支持两个参...

小海bug
18分钟前
0
0
数据结构:二分查找 java

二分查找的前提是有序存储,利用顺序存储和元素排序 /** * 二分查找,查找成功,返回下标记 * @param values * @param begin * @param end * @param key * @param <T> * @ret...

京一
35分钟前
0
0
@SpringBootApplication 注解

@SpringBootApplication注解是一个组合注解,包含以下注解 @Target(ElementType.TYPE) 注解的作用目标 @Retention(RetentionPolicy.RUNTIME) Reteniton的作用是定义被它所注解的注解保留多久,...

java.刘
48分钟前
0
0
sentinel自定义DataSource实战

序 本文主要研究一下如何自定义sentinel的DataSource,这里以jdbc为例。 maven <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sen......

go4it
今天
1
0
xgboost/gbdt在调参时为什么树的深度很少就能达到很高的精度?

问题: 用xgboost/gbdt在在调参的时候把树的最大深度调成6就有很高的精度了。但是用DecisionTree/RandomForest的时候需要把树的深度调到15或更高。用RandomForest所需要的树的深度和Decisio...

tantexian
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部