Sry, 이것은 어딘가에 대답해야하지만 찾지 못했습니다.해당 포인터에서 포인터로 가리키는 값의 주소를 얻는 방법
나는 코드가 있습니다
이const int * tableCards[9];
int hand1card1 = 0;
tableCards[0] = & hand1card1;
int hand1card2 = 1;
tableCards[1] = & hand1card2;
int * flop1 = & tableCard[0];
tableCards[2] = flop1;
cout << * flop1 << endl;
cout << * tableCards[2] << endl;
flop1++;
cout << * flop1 << endl;
cout << * tableCards[2] << endl;
tableCard[48] is an array of pointers to ints
이 코드는 작동을하지만, 나는 * tableCards[2]
반환 * flop1
가 가리키는 요소의 실제 값을 확인하기 위해 라인 tableCards[2] = flop1;
을 변경하고 싶습니다. 이 코드에서 * flop1은 원하는 값을 반환하지만 flop1을 증가시킨 후에도 * tableCards [2]는 동일하게 유지됩니다.
tableCards[2] = & (* flop1);
은 int pointer tableCards [2]에 * flop1이 가리키는 값의 주소를 할당하지만 flop1을 증가시킨 후에 tableCards [2] 값은 동일하게 유지 될 것이라고 생각했습니다. 포인터 대신 포인터의 배열을 사용하고 싶지 않습니다. 4/9 값은 int가 아니라 int 일뿐입니다.
편집 : tableCards [9]는 tableCard [48]와는 다른 배열입니다. 그리고 sry,이 질문은 대답과 대답을 볼 때 혼란스러워해야합니다.
당신이 여기서하려고하는 것을 매우 혼란스럽게합니다. 상수 int ('const int * []')에 대한 포인터 배열을 정말로 원하십니까? 해당 코드가 컴파일됩니까? 사실, 당신은'const int **'에'const int **'를 할당하고 있습니다. 자신에 대한 수정, 컴파일 될 수는 있지만 여전히 권장되지 않습니다. –
sry, tableCard [48]은 int –
에 대한 포인터의 배열입니다. 혼란 스럽지만 문제없이 작동합니다. 잘 모르겠습니다. 권장하지 않는 것이 있습니다. 내 유일한 문제는 flop1 값을 다른 int 포인터로 변경하여 flop1을 증가시킬 때 anothers 포인터 값을 변경하여 flop1이 다른 값을 가리킨다는 것입니다. : –