- 浏览: 73271 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
文章分类
- 全部博客 (86)
- Java_Develop (6)
- Develop about Android (11)
- Develop about C (3)
- Develop about C++ (13)
- Develop about Objective-C (8)
- Develop about XML&DOM4J (6)
- Develop about JSP (7)
- Develop about Servlet (14)
- develop about MySql (4)
- Develop about Java_Socket (1)
- Develop about Java_Thread (4)
- Develop about IOS (8)
最新评论
-
eric_weitm:
在效率本身上而言,引用也有优势。另外,在编译器实现时,指针的传 ...
C++中的 引用和指针区别
自定义数据类型 一、结构体类型 1、 C++允许用户自己定义一组包含若干个类型不同(或相同)的数据项的数据类型,称为结构体。 2、 声明符号:struct 3、 一般形式:struct 结构体类型名{成员表列}; 4、 结构体类型名用来作结构体类型的标志。 5、 结构体中的每个成员也称为结构体中的一个域。成员表列又称为域表。 6、 声明结构体类型的位置一般在文件的开头,在所有函数之前。 7、 C++提供了类类型,所以在一般情况下,不必使用带函数的结构体。 二、结构体类型变量的定义方法及其初始化 1、 定义结构体类型变量的方法: a) 先声明结构体类型再定义变量名 结构体类型名 结构体变量名 Student student1; C语言中结构体类型名前面加上关键字struct C++中可以省略 Student1中具有Student中同样的属性 b) 在声明类型的同时定义变量 一般形式: struct 结构体名 { 成员表列 }变量名表列; c) 直接定义结构体类型变量 一般形式: struct //没有结构体类型名 { 成员表列 }变量名表列; 这种方式虽然合法,但很少使用。提倡先定义类型后定义变量的第一种方法. 说明: 1、 不是所有的结构体类型都有相同的结构。 2、 类型与变量是不同的概念,只能对结构体变量中的成员赋值,不能对结构体类型赋值。在编译时,不会对类型分配空间,只为变量分配空间。 3、 结构体中的成员可以单独使用,它的作用与地位相当于普通变量。 4、 成员也可以是一个结构体变量。 5、 #include<iostream> 6、 usingnamespace std; 7、 8、 struct Date //声明一个结构体类型Date 9、 { 10、 int month; 11、 int day; 12、 int year; 13、 }; 14、 struct Student //声明一个结构体类型Student 15、 { 16、 int num; 17、 char name[20]; 18、 char sex; 19、 int age; 20、 Datebirthday; //Date是结构体类型,birthday是Date类型的成员 21、 char addr[30]; 22、 }student1={},student2;//定义student1和student2为结构体类型Student的变量 首先声明了一个Date类型,具有三个成员month,day,year。然后声明Student类型,将成员birthday指定为Date类型,即birthday作为Date结构体类型名的结构体变量,具有month,day,year三个属性。 5、结构体中的成员名可以与程序中的变量名相同,但二者没有关系,互不影响。 三、结构体变量的引用 1、可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。 Student1=Student2; 2、 可以引用一个结构体变量中的一个成员的值。 Student1.num=1000; 3、 如果成员本身也是一个结构体类型,则要用若干个成员运算符,一级一级找到最低一级的成员。 例如;student1.birthday.month(引用结构体student1中的birthday中的month成员) 4、 不能将一个结构体变量作为一个整体进行输入和输出。 不能:cout<<student1;只能对各个成员分别输入和输出; 5、 对结构体变量的成员可以像普通变量一样进行各种运算。 例如:student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ++student1.age 6、 可以引用结构体变量成员的地址,也可以引用结构体变量的地址。 例如;cout<<&student1; //输出student1的首地址 cout<<&student1.age;//输出student1.age的地址 结构体变量的地址主要用作函数参数,将结构体变量的地址传递给形参。 三、结构体数组 1、 结构体数组和其他数值型数组的不同之处在于:每个数组元素都是一个结构体类型的数组,他们都分别包含各个成员项。 2、 结构体数组就是用数组的形式保存复制多个结构体变量,不用在定义结构体后声明无数的变量实体。 3、 关于初始化:在声明结构体数组的时候可以对其进行初始化,数据类型必须对应,和普通数组初始化的模式一样,不确定数组长度的时候可以不写数组长度直接声明初始化。 四、结构体数组应用 对候选人得票的统计程序。设有三个候选人,最终只有一个人当选为领导。今有十个人参加投票,从键盘先后输入这十个人所投的候选人名字,要求最后输出这三个候选人的得票结果。 解析:这个题可以定义一个候选人结构体数组,包含3个元素,在每个元素中存放有关的数据。 实现程序如下: /* * newtest.cpp * * Created on: 2012-4-8 * Author: David */ #include <iostream> /* * 声明结构体类型Person * 拥有name数组和count整型变量 * */ struct Person { char name[20]; int count; }; int main() { //定义Person类型的数组,内容为三个候选人的姓名和当前的票数 Person leader[3]={"li",0,"zhang",0,"fun",0}; int i,j; char leader_name[20]; //leader_name为投票人所选的人的姓名 for(i=0;i<10;i++) { cin>>leader_name; for(j=0;j<3;j++) { if(strcmp(leader_name,leader[j].name)==0) { //如果与一个候选人的姓名相同,就给他加一票 leader[j].count++; } } cout<<endl; for(i=0;i<3;i++) { cout<<leader[i].name<<";"<<leader[i].count<<endl; } return 0; } }
发表评论
-
C++中的静态关联与动态关联
2012-04-18 09:22 980一、关联:去顶调用的具体对象的过程称为关联,就是把一个函数 ... -
什么情况下应当声明虚函数?纯虚函数声明
2012-04-18 09:21 1291注意: 只能用virtual声明类的成员函数,使之成为虚 ... -
C++中的函数多态性应用&虚函数的灵活应用
2012-04-17 12:08 873一、多态性 派生类对象可以替代基类对象为基类的引用 ... -
C++中类class与结构体struct的异同区别
2012-04-11 12:02 1052结构体struct是C语言中用来封装类似于类的模块。 因 ... -
C++中的共用体(union)结构解析与结构体(struct)共用体(union) 的区别
2012-04-10 10:02 2083共用体(union) 一、 基础概念 有时需要使几种不 ... -
动态内存分配和撤销方式剖析
2012-04-10 08:48 716动态内存分配和撤销方式剖析 在C语言中是利用库函数mal ... -
指向结构体变量的指针与链表结构的关系应用
2012-04-08 19:24 1209指向结构体变量的指 ... -
C++中的指针入门及剖析
2012-04-05 08:48 993C++——指针复习 一、 ... -
C++中的 引用和指针区别
2012-03-20 11:06 841引用是C++中的概念, ... -
C++数组进阶——一维数组的应用及起泡法思路
2012-03-30 15:35 924C++复习——数组 一、相关概念 1、具有相同属性有内在联 ... -
C++数组进阶——二维数组的应用及行列互换存储思路,擂台法求最大值
2012-03-30 15:58 1649二维数组的定义和引用 一、相关定义 1、具有两个下标的 ... -
C++字符数组函数深度剖析
2012-03-31 15:41 14281、 连接函数strcat 其函数原型为:strcat(ch ...
相关推荐
c++的自定义数据类型的初步学习内容
2013级,C++程序设计课件。第7章 自定义数据类型,内容 7.1 结构体类型 7.2 共用体 7.3 枚举类型 7.4 用typedef声明类型
dh C++自定义数据类型(新).ppt 中大的课件
hash_set c++总结(自定义类型stuct、class)。总结自定义struct、class三个案例。find函数测试,hash_set迭代器。
Visual C++ 2005入门经典中文版-第07章 自定义数据类型
C++程序设计课件 第七章 自定义数据类型,介绍C++的的结构体类型、 共用体、枚举类型等
qml中TreeView自定义数据类型,使在代理(Delegate)中能传递到更多的数据 具体可以访问博客https://www.jianshu.com/p/dc24d010e5e4
c++程序设计 第七章用户自定义数据类型
Visual C++ 2005 入门经典 (美) Ivor Horton 著 李颂华 康会光 译
C++程序设计:7 自定义数据类型-链表.ppt
C++传递自定义类型作为参数到Qml 具体请访问https://www.jianshu.com/p/bc3ac5b4b528
```cpp #include #include #include #include #include #include #include #include #include using namespace std;...(const all& b) const//find和count均支持,const必不可少 ...// bool operator()(c
2.1 C++语言概述 2.2 基本数据类型和表达式 2.3 数据的输入与输出 2.4 算法的基本控制结构 2.5 自定义数据类型
大学C++课程教师ppt 7.1 结构体类型 7.2 共用体类型 7.3 枚举类型 7.4 用typedef声明新的类型
在本文中小编给大家整理了关于易语言转换到C++ 自定义数据类型问题解决办法,需要的参考一下。
AESCrypt AES128位加密 C++ 支持对任何类型缓冲区加密 包含了 MyStream自定义Stream ...来自AESCrypt官网,原码只能对文件进行加密,已经过修改,可以对自定义的数据类型,任何内存数组,指针数组进行加密
如果要在 QML使用 C++中定义的类型,有些数据类型是是可以直接使用的,如常见的 int,但是还有一些相对特殊的类型就需要做些特定的操作才可以使用了。 博客地址:...
。。。