참고로 초보입니다. ^^;
델파이 공부를 하다보니 null과 nil이라는 말은 다른 뜻이라고
나오는데 정확히 먼지를 잘 모르겠거든여
null은 db에서 공백문자 같은 것을 null이라는 것으로 알구 있거든여
비어있는것은 아니라구 알구 있는데여...
null과 nil의 차이점... 개념좀 알켜주세요
즐거운 하루 되세요...
예를 들어서
NULL 은 코엑스에 가보니 코엑스몰이 없더라는 것이고
NIL 은 코엑스몰이라는 주소 자체가 없는 것이라고 생각 하세요.....
모든 데이터는 메모리번지를 가지고 있고, 실제 데이터를 메모리번지로부터
읽을수 있는 것이죠....
그런데 NULL은 메모리번지와는 상관없이 실제데이터 자체가 없다는 얘기고
NIL은 메모리번지 자체가 없다는 것입니다.
이해가 되셨는지...........
참고로 델파이에서는 기본적으로 콜방식이 레퍼런스 이기 때문에
대부분 NIL을 많이 쓰는것이죠.....
하지만 C, C++ 에서는 콜방식이 값과 레퍼런스를 다 쓰기 때문에
널 또는 널포인터 등등을 모두 쓰는 것이죠.....
그럼 즐푸 하세요.....^^:;;
Null은 Variant 타입에만 적용되는 것으로 Nil과는 용법이 다릅니다.
다른 언어의 Null과 비슷하지만, 포인터가 아니라는 점에서 좀 다릅니다.
Null은 Variant 형(Variant, OleVariant) 데이터에 자료가 없음을 뜻하는 것이고,
Nil 은 포인터 값이 없음(다른 언어의 Null)을 나타냅니다.
특히 Null은 Variant 값을 돌려주는 메소드들(ActiveX 등)이 값을 제대로 넘겨 주었는지
검사할 때, 자주 사용하죠.
Nil 은 문자열이나, 객체를 반환하는 메소드에서 올바른 값이 넘겨왔는지
검사할 때나, 문자열을 Free 할 때, 주로 사용하죠. ^^;
예를 들어서
NULL 은 코엑스에 가보니 코엑스몰이 없더라는 것이고
NIL 은 코엑스몰이라는 주소 자체가 없는 것이라고 생각 하세요.....
모든 데이터는 메모리번지를 가지고 있고, 실제 데이터를 메모리번지로부터
읽을수 있는 것이죠....
그런데 NULL은 메모리번지와는 상관없이 실제데이터 자체가 없다는 얘기고
NIL은 메모리번지 자체가 없다는 것입니다.
이해가 되셨는지...........
참고로 델파이에서는 기본적으로 콜방식이 레퍼런스 이기 때문에
대부분 NIL을 많이 쓰는것이죠.....
하지만 C, C++ 에서는 콜방식이 값과 레퍼런스를 다 쓰기 때문에
널 또는 널포인터 등등을 모두 쓰는 것이죠.....
그럼 즐푸 하세요.....^^:;;