포인터를 이용하면 수정할 수 있다.
#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;
}
'언어 > C++' 카테고리의 다른 글
C++11 에서 소스코드에 벤더 종속적인 정보나 옵션 사항을 지정해야 할 경우. (0) | 2021.01.27 |
---|---|
C++ 사용자 정의 리터럴 (0) | 2021.01.27 |
C++ 매크로에서 사용하는 #연산자나 ##연산자 (0) | 2021.01.16 |
C++ 문자열 리터럴이 어느 메모리에 저장될까? 데이터영역? 코드영역? (4) | 2021.01.15 |
C++ else if문은 최대 몇개까지 될까? (0) | 2021.01.14 |