Tôi có được phép sử dụng NULL
con trỏ thay thế cho giá trị của 0
không?
Hoặc có điều gì sai về việc đó?
Ví dụ như:
int i = NULL;
thay thế cho:
int i = 0;
Khi thử nghiệm tôi đã biên dịch mã sau đây:
#include <stdio.h>
int main(void)
{
int i = NULL;
printf("%d",i);
return 0;
}
Đầu ra:
0
Quả thực nó mang lại cho tôi cảnh báo này, nó hoàn toàn chính xác:
warning: initialization makes integer from pointer without a cast [-Wint-conversion]
nhưng kết quả vẫn tương đương.
- Tôi có đang vượt qua "Hành vi không xác định" với điều này không?
- Được phép sử dụng
NULL
theo cách này? - Có điều gì sai khi sử dụng
NULL
như một giá trị số trong các biểu thức số học? - Và kết quả và hành vi trong C ++ cho trường hợp này là gì?
Tôi có đọc câu trả lời của sự khác biệt giữa NULL là gì, '\ 0' và 0 về những gì là sự khác biệt giữa NULL
, \0
và 0
là, nhưng tôi đã không nhận được thông tin chính xác từ đó, nếu nó là khá phép và cũng phải để sử dụng NULL
như giá trị để hoạt động với trong bài tập và các hoạt động đối xứng khác.