9.7结构类型

第8章提到过结构和类非常相似,但结构是值类型,而类是引用类型。这意味着什么?最简单的方式是用一个示例来说明

class Chapter09Ex03
    {
        public static void Method()
        {
            MyClass objectA = new MyClass();
            MyClass objectB = objectA;
            objectA.val = 10;
            objectB.val = 20;
            myStruct structA = new myStruct();
            myStruct structB = structA;
            structA.val = 30;
            structB.val = 40;
            Console.WriteLine("objectA.val = {0}", objectA.val);
            Console.WriteLine("objectB.val = {0}", objectB.val);
            Console.WriteLine("structA.val = {0}", structA.val);
            Console.WriteLine("structB.val = {0}", structB.val);
        }
    }

这个应用程序包含两个类型定义。一个是结构myStruct的定义,它有一个public int字段val,另外一个是类MyClass的定义,它包含一个相同的字段(第10章介绍类的成员,如字段,现在只要知道它们的语法是相同的即可)。

接着对两种类型的实例执行相同的操作:

时间: 2024-10-28 10:21:58

9.7结构类型的相关文章

利用结构类型的相关知识计算两点之间的距离

#include<stdio.h>#include<stdlib.h>#include<math.h> struct point{ /*点的结构类型名*/ float x; /*横坐标*/ float y; /*纵坐标*/ }; struct point readPoint(); /*函数原型声明*/float distance(struct point p1,struct point p2);/*主函数*/ int main(void){ struct point a

Scala 深入浅出实战经典 第53讲:Scala中结构类型实战详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/pR_4sY0cJLs/优酷:http://v.youku.com/v_show/id_

一页中总结结构类型的设计模式

机构类型设计模式目录,之前的创建类型的设计模式介绍看这里 适配器模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 1. 适配器模式(将某个类的接口转换成客户端期望的另一个接口表示.适配器模式可以消除由于接口不匹配所造成的类兼容性问题.)引用院子Learning hard的示例,比较经典的插头例子 using System; /// 这里以插座和插头的例子来诠释适配器模式 /// 现在我们买的电器插头是2个孔,但是我们买的插座只有3个孔的 /// 这是我们想把电器插在插座上的话就需

C 开发学习 - 结构类型(枚举/结构/类型定义)

一.枚举 定义:枚举是 一种用户定义的数据类型,它用的关键字 enum 枚举类型名字通常并不真的使用,要用的是在大括号里地名字,因为它们就是常量符合,它们的类型是int,值则依次从0到n. enum colors {red, yellow, green} 语法:enum 枚举类型名称{名字0m, ..., 名字n}; 案例一:自动计数的枚举 // // main.c // enum // // Created by liuxinming on 15/4/26. // Copyright (c)

[Effective JavaScript 笔记]第57条:使用结构类型设计灵活的接口

想象创建wiki的库.wiki网站包含用户可以交互式地创建.删除和修改的内容.许多wiki都以简单.基于文本标记语言创建内容为特色.通常,这些标记语言只提供了HTML可用功能的一个子集,但是却有一个更简单.更清晰的源格式.例如,环绕星号的文本被格式化为粗体,环绕下划线的被格式化为带有下划线的文本,环绕斜杠的被格式化为斜体.用记可以输入如下格式: this sentence contains a *bold phrase* within it. this sentence contains a _

[C语言]进阶|结构类型: 枚举, 结构, 类型定义

--------------------------------------------------------------------- 枚举: // main.c #include <stdio.h> const int red = 0; const int yellow = 1; const int green = 2; int main(int argc, const char * argv[]) { /* 常量符号化:用符号而不是具体的数字来表示程序中的数字; 这样看到符号才能知道背

《Go语言实战》Go 类型:基本类型、引用类型、结构类型、自定义类型

Go 语言是一种静态类型的编程语言,所以在编译器进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么. 提前知道值的类型的好处有很多,比如编译器可以合理的使用这些值,可以进一步优化代码,提高执行的效率,减少 bug 等等. 基本类型 基本类型是 Go 语言自带的类型,比如 数值.浮点.字符串.布尔.数组 及 错误 类型,他们本质上是原始类型,也就是不可改变的,所以对他们进行操作,一般都会返回一个新创建的值,所以把这些值传递给函数时,其实传递

C++基础实例-结构类型(3)

struct #if 0 #include<iostream> using namespace std; main() { //定义结构类型 struct books { char title[20]; char author[15]; int pages; float price; } ; //声明结构变量 struct books Zbk={"VC++ ","Xc",295,35.5}; books Wbk; //对结构变量的输出 cout<&

19. c# -- 结构类型,引用类型

结构类型:值类型,而类是引用类型 结构定义: 结构的定义方式与类非常类似,但结构是值类型,而类是引用类型: 对象是引用类型,在把对象赋给变量时,就把一个指针的变量赋给了该指针所指向的对象,改变其中的一个值,值也改变: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplicat

了解指针(4)-- 指针和结构类型

我们之前介绍了指针和数组的关系.这一节介绍指针和结构类型的关系.我们可以声明一个指向结构类型对象的指针. 例1: struct MyStruct { int a; int b; int c; }; struct MyStruct ss={20,30,40};        //创建结构对象 ss, 并把 ss 的成员初始化为 20, 30 和 40. struct MyStruct *ptr=&ss;        //创建指向这种结构的指针. int *pstr=(int*)&ss;