? NULL
값의 대체물로 포인터 를 사용할 수 0
있습니까?
아니면 그 일에 잘못된 것이 있습니까?
예를 들어,
int i = NULL;
대체품 :
int i = 0;
실험으로 다음 코드를 컴파일했습니다.
#include <stdio.h>
int main(void)
{
int i = NULL;
printf("%d",i);
return 0;
}
산출:
0
실제로 그것은 나에게 완전히 정확한 경고를줍니다.
warning: initialization makes integer from pointer without a cast [-Wint-conversion]
그러나 결과는 여전히 동일합니다.
- 이 "정의되지 않은 동작"으로 넘어 가고 있습니까?
NULL
이런 식 으로 활용하는 것이 허용 됩니까?NULL
산술 표현에서 숫자 값 으로 사용 하는 데 문제가 있습니까?- 이 경우 C ++의 결과와 동작은 무엇입니까?
나는의 답변 읽게 '\ 0', NULL의 차이점은 무엇과 0 사이의 차이가 무엇인지에 대한 NULL
, \0
그리고 0
그것을 잘 사용도 매우 허용하고 경우입니다,하지만 난 거기에서 간결한 정보를 얻을하지 않았다 NULL
등 과제 및 기타 산술 연산에서 사용할 가치.