배열 선언 시, 일반 변수와 메모리 주소가 중복되는걸 피하고..
휑하니
2023.04.01
질문 제목 : 배열 선언 시, 일반 변수와 메모리 주소가 중복되는걸 피하고..배열과 변수의 메모리 할당 주소의 중복을 피하고 싶다면?질문 내용 : 안녕하세요.
아래와 같이 소스를 작성하면int main(void)
{
int i;
int a = 1;
int b[10] = {0};
int c = 10;
b[10] = 100;
printf(\n a = 0x%08x : %d, &a, a);
printf(\n b = 0x%08x , b);
printf(\n c = 0x%08x : %d\n, &c, c);
for (i=0 ; isizeof(b)2 ; i++)
{
printf(b = 0x%08x , &b[i]);
}
}a의 주소가 배열 b의 주소와 중복되는걸 볼 수 있습니다.즉, a의 값이 예상하지 못한 값으로 변할 수 있는데요..이럴 경우 어떻게 해야 하는지 가르침을 주세요~~b[10] = xx; - 요 녀석은 실제로 어떠한 경고나 에러를 발생시키지 않지만, 문제가 될 요지가 매우 큽니다.이를 어떻게 막느냐가 제 질문의 요지입니다. ^^;