일부 로컬 포인터가 있고 그 전에는 두 개의 전역 포인터가 있습니다.C : 초기화되지 않은 char 포인터와 주소를 출력하십시오.
내 작업은 두 개의 전역 포인터 +/- 32 사이의 모든 바이트를 인쇄하는 것입니다. 로컬 포인터는 글로벌 포인터와 다르기 때문에 다른 것입니다.
그리고 내 질문에 처음 두 포인터 사이의 모든 바이트를 초기화하는 방법입니다? 다음은 내 시도했지만 작동하지 않습니다 :
// global scope
char * minimum_ptr, * maximum_ptr;
int main()
// inside main function
char * temp_ptr = minimum_ptr-32;
char * add_ptr = minimum_ptr-32;
while (temp_ptr != maximum_ptr+32) {
add_ptr = NULL;
temp_ptr++;
}
// getting errors
printf("%p", (char *)(minimum_ptr));
printf("%p", (char *)(minimum_ptr+1));
내가 그것을 수정,하지만 여전히 죄송 혼란. 나는 혼란 스럽다. 필자가 원하는 것은 minimum_ptr-32와 maximum_ptr + 32 두 포인터 사이의 주소를 출력하는 것입니다. minimum_ptr과 maximum_ptr은 아직 초기화되지 않았으므로 필요한 경우 필요할 수 있습니다.
추가 : 모든 것을 처음부터 초기화하고 그 후에 할당을 수행하여 모든 것을 인쇄하고 무엇을 어디에 할당했는지 확인하고 싶습니다. 감사합니다
값 'temp_ptr'을'NULL'로 설정하고 1로 설정하십시오 ('temp_ptr ++;')? – Kninnug
네, 맞았습니다. 내 생각에 –
나는 그것을 정정했으나 아직도 혼란 스러웠다. 나는 혼란 스럽다. 필자가 원하는 것은 minimum_ptr-32와 maximum_ptr + 32 두 포인터 사이의 주소를 출력하는 것입니다. minimum_ptr과 maximum_ptr은 아직 초기화되지 않았으므로 필요한 경우 필요할 수 있습니다. –