C++学习之路—入门(2)
基础知识(二)
笔记
1. 函数
- 函数分文件编写:
头文件(.h)放函数声明,以及与主源文件相同的头文件;
源文件(.cpp)放函数定义,以及定义的头文件,且用双引号,如include “test.h”;
主源文件中要用到该函数时,需加入定义的头文件,同上include “test.h”;
2. 指针
- 定义指针
int * p;
- 指针记录变量地址
p = &a;
- 使用指针引用地址内的存放数据
b = * p;
- 32位操作系统下,指针占4个字节,无论何种数据类型;64位对应8字节
- 初始化空指针
int * p = NULL;
(空指针不可访问) - const修饰指针 —常量指针 :指针的指向可以改,指向的值不可以改。
const int * p = & a;
const修饰常量 —指针常量 :指针的指向不可改,值可以改。
int * const p = & a;
const既修饰指针又修饰常量:都不可以改
const int * const p = & a;
(ps:记忆方法,const修饰的是谁谁可以改,后面跟的是谁谁不可以改) - 应用函数中,不改变实参使用值传递,改变实参用地址传递
3. 结构体
- 定义:
struct 结构体名 { 结构体成员列表};
结构体数组struct 结构体名 数组名[元素个数] = { {...}, {...}, ...};
- 创建 :
struct 结构体名 变量名;
其中struct在此处可以省略;
指针指向结构体变量struct 结构体名 * p = &变量名;
访问用p-> 属性;
- 结构体案例练习:设计一个结构体,包括成员姓名、年龄、性别;创建结构体数组,数组中存放5名英雄;通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。
#include<iostream>
using namespace std;
#include<string>
//设计结构体
struct Hero
{
string hName;
int hAge;
string hSex;
};
//赋值函数
void DataH (struct Hero H[], int len)
{
string Name[] = {
"刘备","关羽",