int **s =new int*(10)
时间: 2023-10-21 20:24:36 浏览: 50
这行代码的含义是,使用C++的动态内存分配方式,分配了一个指针数组,数组的长度为10,每个元素都是指向int类型的指针。
具体来说,new int*[10]会返回一个指向指针的指针(也称为二级指针),表示分配了一个长度为10的指针数组。然后将这个指针赋值给int **s,即s指向这个二级指针。这个指针数组的每个元素都是一个int*类型的指针,表示可以指向一个int类型的变量。这里并没有为每个int*分配内存,只是分配了一个指针数组,需要再次分配内存才能使用这些指针。如果需要使用完后释放内存,需要使用delete[] s来释放指针数组的内存,再使用delete释放每个指针所指向的内存。
相关问题
int** way = NULL; float* D = NULL; int s=0, e=0, p=0; int n = 1; int* c; c = new int[10];
这段代码声明了一些变量和指针:
- `way` 是一个指向指针的指针,初始值为 `NULL`。
- `D` 是一个指向浮点数的指针,初始值为 `NULL`。
- `s`、`e`、`p` 分别是三个整型变量,初始值均为 0。
- `n` 是一个整型变量,初始值为 1。
- `c` 是一个指向整型数组的指针,它指向一个包含 10 个元素的数组。
需要注意的是,这段代码只声明了变量和指针,并没有对它们进行初始化,因此它们的值都是不确定的。如果要使用它们,需要先对它们进行初始化。
int main() { int** way = NULL; float* D = NULL; int s=0, e=0, p=0; int n = 1; int* c; c = new int[10]; string start, end; //读取 city 表 City* cities = NULL; Cities(cities); //读取 route 表 Route* route = NULL; Routes(route); //建立邻接矩阵 Graph graph; CreatGraph(graph, cities, route);
这段代码是用 C++ 实现的,主要包括以下内容:
1. 定义了一个指向指针的指针 way,和一个指向 float 类型的指针 D,以及 s、e、p 三个整型变量和一个整型变量 n。
2. 动态分配了一个长度为 10 的整型数组 c。
3. 定义了两个字符串类型的变量 start 和 end。
4. 调用 Cities 函数和 Routes 函数分别从 city 表和 route 表中读取数据,并将数据存储在 cities 和 route 指针变量中。
5. 调用 CreatGraph 函数建立邻接矩阵,该函数接受三个参数,第一个参数是一个 Graph 类型的变量,第二个参数是一个 City 类型的指针,第三个参数是一个 Route 类型的指针。