warrior* temp1[10000] = { NULL }; 如何删除数组元素
时间: 2024-02-21 09:01:11 浏览: 22
如果你要删除 `temp1` 数组中的某个元素,你可以使用 `delete` 操作符来释放该元素所指向的内存,然后将该元素设置为 `NULL`,表示该指针不再指向任何内存。
例如,如果你要删除 `temp1` 数组中的第 `i` 个元素,你可以使用以下代码:
```
delete temp1[i];
temp1[i] = NULL;
```
注意,这只会释放该元素所指向的内存,并不会删除该元素本身。如果你想要删除该元素,你需要将它从数组中移除并调整数组的大小。
如果你要删除整个数组,你可以使用 `delete[]` 操作符来释放整个数组所占用的内存。例如:
```
delete[] temp1;
```
这会释放整个 `temp1` 数组所占用的内存,并将 `temp1` 设置为 `NULL`。
相关问题
warrior* temp1[10000] = { NULL };为什么报错temp1没有初始化
这个语句本身是没有问题的,可以定义一个指针数组,并将其所有元素初始化为NULL。因此,如果编译器报错指向`temp1`没有初始化,很可能是因为编译器的警告级别较高,要求所有变量都必须进行初始化后才能使用。
为了解决这个问题,你可以将这个语句改为:
```c++
warrior* temp1[10000];
memset(temp1, 0, sizeof(temp1));
```
这个语句使用了C标准库的`memset`函数,将`temp1`数组的所有元素初始化为0。这样,就可以避免编译器报错指向`temp1`没有初始化的问题。
warrior* temp1[10000]怎么初始化为0
可以使用以下方式将 `warrior* temp1[10000]` 数组初始化为 `NULL`:
```cpp
warrior* temp1[10000] = {0};
```
这种方式在 C++11 标准中是可行的,可以将数组中的所有元素初始化为 0。如果你使用的是早期的 C++ 标准,你也可以使用以下方式:
```cpp
warrior* temp1[10000] = {NULL};
```
这两种方式都可以将数组中的指针初始化为 `NULL`,以便在后续的操作中判断指针是否为空指针。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)