포인터를 이용하면 수정할 수 있다.

#include <iostream>
using namespace std;

int main() {

	const int cl = 1000;
	int* pi = (int*)&cl;
	*pi = 200;

	cout << *pi;

	return 0;
}

 

그렇다면 이런식으로 이용할수도 있겠지..

#include <iostream>
using namespace std;

struct tChunk {
	long long arrLL[100] = { 0, };
};
void OutputChunk(const tChunk * _pChunk) {
	tChunk* chunk = (tChunk*)_pChunk;
	chunk->arrLL[0] = 100;

	((tChunk*)_pChunk)->arrLL[2] = 100;

	for (int i = 0; i < 100; ++i) {
		cout << _pChunk->arrLL[i] << "\n";
	}
}

int main() {
	tChunk chunk;
	for (int i = 0; i < 100; ++i) {
		chunk.arrLL[i] = i + 1;
	}
	OutputChunk(&chunk);

	return 0;
}

 

 

 

+ Recent posts