C++--学习笔记007

20150430

枚举类型如果没有赋值,有默认的整数值,依次是0,1,2,3.。。

如:weekday::mon的值是0

我们可以自己定义一个值。

//重新指定枚举元素的数值

enum weekday

{

mon=1,

tue,

wed,

thu,

fri,

sat,

sun=0

};

因为weekday::sun特殊性,将其指定为0

枚举类型变量的赋值

//定义一个枚举类型的变量

weekday nday

nday=weekday::sun;

//尝试用其他的数值对枚举类型变量赋值会产生编译错误

nday=7;

weekday::mon=(weekday)0;//尝试改变枚举元素的值,导致编译错误

复杂的事物用结构体类型来描述

结构体就是将描述单个属性的基本数据类型组合起来描述更加复杂的事物,形成新的构造型数据类型。

结构体的语法格式

struct 结构体名

{

数据类型1  成员名1;

数据类型2  成员名2;

..

数据类型n  成员名n;

};

在结构体的内部,分别使用多个不同数据类型的变量表示复杂事物的各个属性。

//定义结构体Human描述人这个复杂的食物

struct Human

{

string m_strName;  //姓名

bool m_bMale;   //性别

int m_nAge: //年龄

int m_nHeight; //身高

float m_fWeight;  //体重

};

引用结构体成员变量的语法格式:

结构体变量.成员变量

使用“”运算符

结构体变量表示使用结构体定义的变量。

通过对结构体成员变量的引用,可以读取或设定一个结构体的各个成员变量的数值,从而完成对复杂事物的描述。

//对成员变量进行赋值

chenliangqiao.m_strName="ChenLiangQiao";

chenliangqiao.m_bMale=true;

//读取成员变量的值

int nAge=chenliangqiao.m_nAge;

struct Emplyee

{

string m_strName;

bool m_bMale;

int m_nAge;

int m_nSalary;

};

const int MAX_COUNT=1000;

int _tmain(int argc,_TCHAR* argv[])

{

//创建一个结构体数组,管理多个结构体变量

Emplyee arrEmplyee[MAX_COUNT];

cout<<"请输入员工信息"<<endl;

int ncount=0;

do

//接收用户输入

//将用户输入的数据保存到结构体变量的各个成员变量

cin.clear();

cin>>arrEmplyee[ncount].m_strNmae

>>arrEmplyee[ncount].m_bMale

>>arrEmplyee[ncount].m_nAge

>>arrEmplyee[ncount].m_nSalary;

//检查是否输入完毕

if("end"==arrEmplyee[ncount].m_strName)

break;

//开始输入下一个员工信息

++ncount;

}while (ncount <MAX_COUNT);

//显示所有员工的信息

cout<<"员工信息:\n姓名\t性别\t年龄\t工资"<<endl;

for(int i=0;i<ncount;++i)

{

//访问数组中结构体变量的成员变量

//获得“员工”这个复杂事务的各种属性

cout <<arrEmplyee[i].m_strName<<"\t"

<<arrEmplyee[i].m_bMale<<"\t"

<<arrEmplyee[i].m_nAge<<"\t"

<<arrEmplyee[i].m_nSalary<<endl;

}

return 0;

}

\t输入格式横向跳格

指针

通过指针直接访问数据量所在的内存,可以起到四两拨千斤的效果。

当访问数据量比较大的时候,使用指针

指针使用不当,很糟糕

指针就是表示内存地址的数据类型

使用了指针,程序就可以通过指针直接操作内存。

两种访问内存的方式:

1、通过变量名简介访问在内存存放的数据,进行读取或者写入

2、第二种方式是直接通过指针访问内存中的数据。

存放在指针中的内存地址可能是一个函数的地址、一个对象地址,一个整数的地址。

如果指针变量所保存的是一个对象或者函数的地址,就说这个指针指向这个对象或者函数。

定义指针变量语法

数据类型*变量名

数据类型表示指针指向的数据是何种数据类型,可以是int,string,double等

变量名是指针的名字。

*表示声明的是一个指针类型的变量

数据类型也称为指针类型

指向一个整型数据的指针称为整型指针

编码规则:一条语句只完成一件事情。

时间: 2024-08-06 13:09:11

C++--学习笔记007的相关文章

ObjectARX 学习笔记007:创建模态对话框的一般步骤

1.新建一个工程,注意将"使用MFC"选项勾上. 2.使用[insert/Resouce]菜单项插入一个对话框. 3.此时会弹出一个窗体,直接按Enter键可以调出[属性]面板.设置窗体的ID和窗体的Caption. 4.可以点击[属性]面板左上角的图钉图标将其常显. 5.向窗体中插入控件,依次设置其ID与Caption. 6.按Ctrl+W为对话框资源创建一个类.此时系统会在工程中添加一个.cpp文件和一个对应的.h文件. 7.注册一个新命令,用于显示新的对话框. 8.在xxxCom

IOS开发学习笔记007

一.全局变量和局部变量 全局变量和局部变量的区别 1. 全局变量,再函数外定义的变量 作用范围:是从变量定义到文件结束 默认初始值是0 2. 局部变量,再函数内部定义的变量 作用域:从变量定义开始到函数结束 没有默认初始值 代码示例 1 #include <stdio.h> 2 3 /* 4 全局变量和局部变量 5 */ 6 7 //全局变量,再函数外定义的变量 8 //作用范围:是从变量定义到文件结束 9 //默认初始值是0 10 11 //局部变量,再函数内部定义的变量 12 //作用域:

【原】Java学习笔记007 - 流程控制

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // for循环 6 // 格式 7 // for (int i = 初始值; i < value; i++) { 8 // 9 // } 10 // 口诀:左初值.右步长.条件在中间.处理在内部 11 // 1.左初值:声明一个变量并给变量赋值 12 // 2.右步长:控制左边声明的变量的变化幅度,为

网上图书商城项目学习笔记-007登录功能实现

一.功能流程分析 二.代码 1.view层 1)login.jsp 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 4 5 <!DOCTYPE HT

Spring Cloud学习笔记-007

声明式服务调用:Spring Cloud Feign Feign基于Netflix Feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两者的强大功能之外,它还提供了一种声明式的Web服务客户端定义方式. 在使用Spring Cloud Ribbon时,通常都会利用它对RestTemplate的请求拦截来实现对依赖服务的接口调用,而RestTemplate已经实现了对HTTP请求的封装处理,形成了一套模板化的调用方法.在实际开发中,由

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolea

这是三天的linux学习笔记,大神可以指教,别喷我,我新手。

20140825.学习笔记开启新终端    ctrl+shift+n关闭终端    alt+F4扩大终端    ctrl+shift+"+"缩小终端    ctrl+"-"开启新的终端标签    ctrl+shift+t关闭终端标签    ctrl+shift+w标签之间的切换    alt+标签对应的编号切换到真实终端tty3   ctrl+alt+F3tty回到图形     alt+F1或者F7 快捷键设置终端--->编辑--->键盘快捷键 设置终端

Web前端学习笔记(001)

....编号    ........类别    ............条目  ................明细....................时间 一.Web前端学习笔记                                    2016年6月15日10:38:53    /****************************************************************begin******************************

JavaScript学习笔记(十五)——对象之Date,RegExp

在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/学习. Date 在JavaScript中,Date对象用来表示日期和时间. 系统当前时间: var now = new Date(); now; // Thu Nov 30 2017 20:50:03 GMT+0800 (中国标准时间) now.getFullYear(); // 2017, 年份