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);
时间: 2024-04-27 20:22:52 浏览: 17
这段代码是用 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 类型的指针。
相关问题
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 * p=null;int * a=*p;
这段代码存在指针错误。首先,`p`被初始化为`null`,也就是空指针,不能直接用来访问内存。其次,在第二行中,`*p`表示访问空指针所指向的内存,会导致程序崩溃。应该将指针`p`指向一个合法的内存地址,例如:
```c
int x = 10;
int *p = &x; // 将指针p指向变量x的地址
int *a = p; // 将指针a指向指针p所指向的内存
```
这样就可以将指针`p`指向一个合法的内存地址,并将其赋值给指针`a`。注意,指针`a`和指针`p`指向的是同一块内存,它们具有相同的值,但是类型为`int *`。