一、数组
(一)数组的概念
基本数据类型:C++提供了多种基本数据类型,如int、float、double、char等。这些数据类型用于存储不同类型的数据。
用户定义的数据类型:除了基本数据类型,用户还可以定义自己的数据类型,如结构体(struct)、类(class)等。
数组:数组是一种可以存储多个同类型数据的数据结构。例如,一个整数数组可以存储多个整数。
字符串:C++中,字符串通常表示为字符数组,也可以使用标准库中的std::string类来处理。
数组是一种数据结构,它包含一组有序的元素,每个元素可以通过其索引来访问。在数组中,每个元素都有一个唯一的索引,该索引用于标识该元素在数组中的位置。数组的大小是固定的,一旦创建,其大小就不能更改。
在许多编程语言中,如C++、Java和Python等,都有数组这种数据结构。数组可以是一维或多维的,其中一维数组是最简单的形式,而多维数组可以用来表示矩阵、三维空间中的点等复杂的数据结构。
二、指针
(一)指针的概念
定义:指针是一个变量,其值为另一个变量的地址。通过指针,我们可以间接访问和修改变量的值。
指针的声明:例如,int *ptr;
声明了一个指向整数的指针ptr。
举一个简单的例子来说明指针的概念:
假设你有一本电话簿,上面列出了许多朋友的电话号码。每个电话号码占据了一个页码。如果你想给朋友打电话,你首先需要找到相应的页码,然后翻到那一页找到电话号码。在这个场景中,页码就是指针,它指向了电话号码的具体位置。
现在,如果我们想给不同的朋友打电话,我们可能需要多次翻动电话簿。这种频繁的翻动很麻烦,但如果我们可以直接找到所有朋友的电话号码的存放位置,一次性记录下来,那么我们就可以快速地找到任何一个朋友的电话号码。这个存放所有电话号码的位置就是指针数组。
通过这个例子,可以将指针理解为一个指南针,它指向了某个数据的位置,这样我们就可以快速地找到并使用这些数据。
在C++中,我们用星号(*
)前缀来表示指针。例如,如果你声明了一个int类型的变量和一个指向int的指针,你可以这样做:
int num = 10; // 定义一个int变量
int *ptr; // 定义一个指向int的指针
接下来,让指针指向这个变量:
ptr = # // ptr现在存储了num的地址
&
符号用于获取变量的地址。当我们对一个变量使用&
操作符时,我们得到的是该变量的内存地址,而不是它的值。
现在,你可以通过指针来访问和修改变量的值:
*ptr = 20; // 通过指针修改num的值
以上就是指针的基本概念。
再举一个简单的示例,演示指针和&
符号的使用:
#include <iostream>
int main() {
int num = 10;
int *ptr = # // ptr指向num的地址
std::cout << "num的值:" << num << std::endl;
std::cout << "num的地址:" << &num << std::endl;
std::cout << "ptr指向的地址