c++入门之结构体初步
结构体实际上是一种数据结构的雏形,对结构体的灵活使用很多时候可以带来很多便利.下面给出一个关于结构体的程序:
#include "iostream"
# include "cmath"
struct polar
{
double distance;
double angle;
};
struct rect
{
double x;
double y;
};
void rect_to_polar(rect*pa, polar*pb);
void show_polar(polar*pc);
int main()
{
using namespace std;
rect zhijiao;
polar ji;
cout << "please input the x and the y:" << endl;
while (cin >> zhijiao.x >> zhijiao.y)
{
rect_to_polar(&zhijiao, &ji);
show_polar(&ji);
cout << "next two nbumber(q to quit:):";
}
cout << "Done" << endl;
return ;
} void rect_to_polar(rect*pa, polar*pb)
{
using namespace std;
pb->distance = sqrt(pa->x*pa->x+ pa->y*pa->y);
pb->angle = atan2(pa->y, pa->x);
} void show_polar(polar*pc)
{
using namespace std;
const double exchange = 57.29577951;
cout << "distance is:" << pc->distance << endl;
cout << "angle is:" << pc->angle* exchange << endl;
cout << "over" << endl; }
上述代码的作用:将输入的一组x,y直角坐标转换为极坐标.
关于代码,总结以下:
如果通过结构体本身,采用.访问结构体元素,比如mystruct.element;但若通过结构体指针来访问元素。如mystruct->element;
2 很多时候,我们采用指针传递实参的意义在于:普通的参数传递,实际上是值拷贝过程,我们无法改变原来的变量的值,但很多时候,我们需要这么做;其次,一个大的工程,拷贝太多,容易造成内存的浪费.
c++入门之结构体初步的更多相关文章
- Swift入门篇-结构体
前面主要是介绍swift语言中基本类型的用法,今天给大家介绍的是swift的结构体的用法,swift中结构体的用法和其他语言的用法,还有不太一样,不过您多敲几遍,就可以理解结构体,结构体在ios开发中 ...
- golang | Go语言入门教程——结构体初始化与继承
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题第10篇文章,我们继续来看golang当中的面向对象部分. 在上一篇文章当中我们一起学习了怎么创建一个结构体,以及怎么 ...
- Golang 入门 : 结构体(struct)
Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型.试图表示一个现实世界中的实体. 结构体由一系列命名的元素组成,这些元素又被称为字段,每个字段都有一个名称和 ...
- swift菜鸟入门视频教程-09-类和结构体
本人自己录制的swift菜鸟入门,欢迎大家拍砖,有什么问题能够在这里留言. 主要内容: 类和结构体对照 结构体和枚举是值类型 类是引用类型 类和结构体的选择 集合(collection)类型的赋值与复 ...
- 《挑战30天C++入门极限》新手入门:C/C++中的结构体
新手入门:C/C++中的结构体 什么是结构体? 简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构 ...
- Go语言入门系列(五)之指针和结构体的使用
Go语言入门系列前面的文章: Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 1. 指针 如果你使用过C或C++,那你肯定对指针这个概念 ...
- 你有对象类,我有结构体,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang结构体(struct)的使用EP06
再续前文,在面向对象层面,Python做到了超神:万物皆为对象,而Ruby,则干脆就是神:飞花摘叶皆可对象.二者都提供对象类操作以及继承的方式为面向对象张目,但Go lang显然有一些特立独行,因为它 ...
- 【C语言入门教程】7.1 结构体类型变量的定义和引用
前面学习了变量和数组这些简单的数据结构,它们的特点是必须使用规定的数据类型.例如数组被定义为整型后,它的所有存储单元都是由整型构成.现实生活中某一类事物的共同属性可能是由不同的数据类型组成的集合,或者 ...
- 【C语言入门教程】7.2 结构体数组的定义和引用
7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...
随机推荐
- IOS UIWebView用法
转自猫猫小屋 IOS webview控件使用简介(一) IOS webview控件使用简介(二)–加载本地html
- memory 监控 mysql vs percona vs maria
oracle mysql 5.7 在performance_schema 通过以下表展现内存信息.这些表实际engine为performance_schema.这些表数据实际是以数组的形式存储在内存中 ...
- FastCGI Error Number: 5 (0x80070005).
在访问网站的时候,出现了以上这个错误: 在网上搜了很多方法,归纳起来就如下几种: 1, 网站安全狗]的安全策略问题 解决方案: 主动防御/禁止IIS执行程序 添加"php\php-cgi.e ...
- LeetCode算法题-Valid Palindrome(Java实现)
这是悦乐书的第174次更新,第176篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第33题(顺位题号是125).给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略 ...
- LeetCode算法题-Path Sum(Java实现)
这是悦乐书的第169次更新,第171篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第28题(顺位题号是112).给定二叉树和整数sum,确定树是否具有根到叶路径,使得沿路 ...
- Maven——settings.xml配置
settings.xml配置 原文 <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed ...
- C#多线程编程のTask(任务全面解析)
Task是.NET4.0加入的,跟线程池ThreadPool的功能类似,用Task开启新任务时,会从线程池中调用线程,而Thread每次实例化都会创建一个新的线程. 我们可以说Task是一种基于任务的 ...
- Openstack window 10 镜像制作
Windows 10 Openstack 镜像制作 //************************************************************************ ...
- P1101 单词方阵 (单词方阵)
思路:就是白白的模拟 #include<iostream> using namespace std; ][]; ][]; char kk[] = "yizhong"; ...
- 第11章 AOF持久化
AOF持久化在硬盘上保存的是对Redis进行的逻辑操作,类似InnoDB中的bin log.说白了就是你对一个Redis输入了哪些语句,AOF文件都会原封不动的保存起来,等到需要回复Redis的时候再 ...