// 动态内存分配和释放实例.cpp : 定义控制台应用程序的入口点。
//使用堆内存分配方式实现学生成绩录入功能
//要求程序运行时由用户输入学生人数
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int *pScore;
int stu_num, i;
cout << "请输入学生人数:";
cin >> stu_num;
pScore = new int[stu_num]; //按学生人数动态分配内存
if (pScore == NULL) //判断堆内存分配是否成功
{
cout << "堆内存分配失败!" << endl;
return 0;
}
//通过for循环输入学生成绩
for (i = 0; i < stu_num; i++)
{
cout << "请输入第" << (i + 1) << "名学生的成绩:";
cin >> pScore[i];
}
//通过for循环输出学生成绩
for (i = 0; i < stu_num; i++)
{
cout << "第" << (i + 1) << "名学生的成绩为:"
<<*(pScore+i)<<endl;
}
delete[]pScore; //释放指针内存
getchar();
getchar();
return 0;
}
运行结果: