C++ 结构
来源:互联网 发布:windows7淘宝 编辑:程序博客网 时间:2024/06/05 02:05
示例1:
#include <iostream.h>
/*
结构通俗的理解,程序员自己定义的数据类型;
aClock是声明的全局变量;
小伙伴们可以试着不用全局变量,编译试试会出现一些问题,想想为什么?答案在第二个程序中可以找到
*/
struct clock{int hour;
int minute;
int second;
} aClock;
void update(){
aClock.second++;
if(aClock.second==60){
aClock.second=0;
aClock.minute++;
}
if(aClock.minute==60){
aClock.minute=0;
aClock.hour++;
}
if(aClock.hour==24){
aClock.hour=0;
}
}
void display(){
cout<<aClock.hour<<":"<<aClock.minute<<":"<<aClock.second<<endl;
}
void main()
{
aClock.hour=aClock.minute=aClock.second=0;
for(int i=0;i<100;i++)
{
update();
display();
}
}
示例2. 结构和指针
/*
新建一个Windows32 console Application;共有3个文件clock.h clock.cpp 工程名.cpp.
*/
//clock.h
struct clock{
int hour;
int minute;
int second;
};
void display(clock *t);
void update(clock *t);
//clock.cpp
//注意:#include "stdafx.h" ,该行一定是在第一行,避免错误。编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,
#include "stdafx.h"
#include <iostream.h>
#include "clock.h"
void update(clock *t){
t->second++;
if(t->second==60){
t->second=0;
t->minute++;
}
if(t->minute==60){
t->minute=0;
t->hour++;
}
if(t->hour==24){
t->hour=0;
}
}
void display(clock *t){
cout<<t->hour<<':'<<t->minute<<':'<<t->second<<endl;
}
//工程名.cpp
#include "stdafx.h"
#include "clock.h"
int main(int argc, char* argv[])
{
clock aClock;
aClock.hour=aClock.minute=aClock.second=0;
for(int i=0;i<100;i++)
{
update(&aClock);
display(&aClock);
}
return 0;
}
示例3:结构与函数
#include <iostream.h>
/*
结构可以用作函数的参数和返回值,当结构用作函数参数时,调用过程采用只调用;
然而当结构中包含大量数据时,值调用方法会影响程序的运行效率,这时可以采用引用调用。
const是一个类型修饰符,在变量说明语句中,const被用于冻结一个变量,使其值在程序中不能被进一步改变。
在说明const变量时,必须对该变量进行初始化,例如:float const f=6.0;//const是左结合的
const也可以修饰派生类型;当修饰基本类型时,经常写成const float f=6.0;
引用运算符&,用于定义一个引用;如果这个引用不是用作函数的参数或返回值,则在说明时必须进行初始化
*/
struct myStruct{
int a,b;
};
void fun(const myStruct&);
void main()
{
myStruct s;
s.a = 100;
fun(s);
}
void fun(const myStruct& t){
cout<<t.a<<endl;
}
示例4. 一个结构可以用作另一个结构的成员
- C#-----结构
- C-结构
- C-结构
- 结构体 (C/C++)
- C/C++:结构体指针
- C/C学习笔记/结构
- (C/C++)struct结构体
- 【C/C++】类和结构
- [C] 结构对齐
- [C学习]结构体
- C的结构
- C++STL-线性结构
- C#SocketSC结构文件传输
- c/s网络结构
- C#==>结构
- c/s结构
- C语言中的结构
- C中的结构体
- 毛细管网
- 宇宙中最大的神秘结构被发现 跨度达40亿光年
- NSString、Char* 、NSData之间的转换
- 拓展训练给企业注入了正能量
- Telerik OpenAccess ORM and the XML Metadata Source
- C++ 结构
- 由小见大——设计数据库表时应该注意的问题
- Uva11827 (GCD)
- JAVA "magic square"判定算法的实现。
- linux共享内存
- Spring中过滤敏感词
- 使用 Spring 进行单元测试
- 在控制台显示程序进度
- Git 多人协同开发教程