【指针】
指针是一个地址,在使用指针存储其他变量地址之前,需要先声明。声明方式:
int *ip;
所有指针的值的实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,都是一样的,都是一个代表内存地址的长的十六进制数。
不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。
int *ip; // 指针变量的声明
ip = &var; // 在指针变量中存储 var 的地址
使用指针
使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。
通过 * 来返回位于操作数所指定地址的变量的值。
【数组】
声明数组:
type arrayName [ arraySize ];
这叫做一维数组。arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C++ 数据类型。例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:
double balance[10];
初始化数组:
初始化语句,如下所示:
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
[ ]内的5指的是数组内有5个元素。{ }内的就是五个数组的值
访问数组元素:
数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:
double salary = balance[9];
上面的语句将把数组中第 10 个元素的值赋给 salary 变量。
【循环】
while 循环:
while( a < 20 ) { cout << "a 的值:" << a << endl; a++; }
for 循环的语法:
for( int a = 10; a < 20; a = a + 1 )
{
cout << "a 的值:" << a << endl;
}
do...while循环
do { cout << "a 的值:" << a << endl; a = a + 1; }while( a < 20 );
请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。
如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。
【结构struct】
数组允许定义可存储相同类型数据项的变量
结构允许存储不同类型的数据项
例如:需要跟踪每本书的下列属性:
- Title :标题
- Author :作者
- Subject :类目
- Book ID :书的 ID
定义结构
访问结构成员
intmain()
{
BooksBook1;// 定义结构体类型 Books 的变量 Book1
BooksBook2;// 定义结构体类型 Books 的变量 Book2
// Book1 详述
strcpy(Book1.title,"C++ 教程");
strcpy(Book1.author,"Runoob");
strcpy(Book1.subject,"编程语言");
Book1.book_id = 12345;// Book2 详述
strcpy(Book2.title,"CSS 教程");
strcpy(Book2.author,"Runoob");
strcpy(Book2.subject,"前端技术");
Book2.book_id = 12346;
// 输出 Book1 信息
cout << "第一本书标题 :" <<Book1.title <<endl;
cout << "第一本书 ID :" <<Book1.book_id <<endl;
// 输出 Book2 信息
cout << "第二本书标题 :" <<Book2.title <<endl;
cout << "第二本书作者 :" <<Book2.author <<endl;
return 0;
}
可以定义指向结构的指针
struct Books *struct_pointer;
为了查找结构变量的地址,请把 & 运算符放在结构名称的前面,如下所示:
struct_pointer = &Book1;
为了使用指向该结构的指针访问结构的成员,必须使用 -> 运算符
struct_pointer->title;
printBook( &Book1);
// 通过传 Book2 的地址来输出 Book2 信息
printBook( &Book2);
voidprintBook(structBooks *book)
{
cout << "书标题 : "<<book->title <<endl;
cout << "书作者 : "<<book->author <<endl;
}
【引用】
引用变量是一个别名,它是某个已存在变量的另一个名字。
引用必须在创建时被初始化。指针可以在任何时间被初始化。
C++ 中创建引用
int i = 17;
为 i 声明引用变量
int& r = i;
引用必须在声明时将其初始化,不能先声明后赋值。