C++用new运算符为一个包含20个整数的数组分配内存。输入数据并统计其中正数和负数的个数,并输出结果后使用delete运算符释放空间。
时间: 2024-10-22 15:26:12 浏览: 17
在C++中,你可以使用`new`运算符动态地为一个数组分配内存,然后读取用户输入的数据,计算正数和负数的数量,最后用`delete[]`释放内存。下面是一个简单的示例:
```cpp
#include <iostream>
int main() {
int size = 20; // 定义数组大小
int* arr = new int[size]; // 使用new为数组分配内存
std::cout << "Enter 20 integers:" << std::endl;
for (int i = 0; i < size; i++) {
std::cin >> arr[i];
}
int positiveCount = 0, negativeCount = 0;
for (int num : arr) {
if (num > 0)
positiveCount++;
else if (num < 0)
negativeCount++;
}
std::cout << "Positive numbers: " << positiveCount << ", Negative numbers: " << negativeCount << std::endl;
delete[] arr; // 释放内存
arr = nullptr; // 确保arr指向nullptr,防止未初始化的指针错误
std::cout << "Memory released." << std::endl;
return 0;
}
```
在这个程序中,我们首先创建了一个大小为20的整型数组,接着循环读入用户输入并统计正数和负数。结束后,使用`delete[]`释放数组占用的内存,并将数组指针设为nullptr,表示不再引用该内存。
阅读全文