간단한거 하나만 더 질문할게요
타우러스
2023.06.14
질문 내용 :
포인터변수는
int* pt=NULL;
로 아무것도 없다는 의미를 가지는데
배열에서
공간만 생성해두고 아무 값도 넣고싶지않다고할때
int arr[3]={1,2,0};
이런식으로 arr[2]만 값이 없게 하고싶으면 0을 집어넣거나 char 형같은경우 로
대체하는데
NULL넣으니까 에러뜨네요
0이나 말고 다른 방법은 없을까요?
-
횃불 2023-06-14
없습니다.
심지어 예로 드신 포인터도 아무 값도 대입하지 않는 것이 불가능하죠.
*ptr = NULL;
포인터도 NULL이란 값을 가지게 되는 것입니다. (NULL이 없다 라는 뜻으로 통용될 뿐이지 실제로 값이 없는것은 아닙니다. 엄연히 (void*)0 이란 값을 가집니다.)
배열 역시 변수로 만들어진 이상 값을 가집니다. 피할 수 없고 피할 필요도 없어요. -
연초록 2023-06-14
답변 달아 주고 싶은 마음이 굴뚝 같은데.. 어떤식으로 해서 에러가 발생되었는지 올려주시면 답변 드릴 수 있겠는데요?