Studies/C++

06 동적할당

쿠뱃봉 2022. 1. 24. 01:39

1.개념

int* p= new int[5];

int (*p)[4]=new int[3][4];

int (*p)[3][4]=new int[2][3][4];

#include<iostream>
#include<ctime>
using namespace std;

int main() {
	int col, row;
	cin >> col >> row;
	int** parr = new int* [row];
	for (int i = 0; i < row; i++) {
		parr[i] = new int[col];
		for (int j = 0; j < col; j++) {
			parr[i][j] = j;
		}
	}

	for (int i = 0; i < row; i++)
		delete[] parr[i];
	delete[] parr;
	return 0;
}

2. 실습 1

파일로부터 동적 할당하기

#include<iostream>
#include<ctime>
#include<>
using namespace std;
int** readMap(const char* fileName,int& r,int& c) {
	ifstream fin(fileName);
	int** map = NULL;
	if (fin.is_open()) {
		int row, col;
		fin >> row >> col;
		r = row;
		c = col;
		map = new int* [row];
		for (int i = 0; i < row; i++) {
			map[i] = new int[col];
			for (int j = 0; j < col; j++) {
				fin >> map[i][j];
			}
		}
	}
	else {
		cout << "확인 요함" << endl;
	}
	return map;
}
void showMap(int** (&map),const int& row,const int& col) {

};
int main() {
	int row, col;
	int** map = readMap("map1.txt",row,col);
	if (map != NULL) {
		showMap(map,row,col);

	}
	return 0;
}