Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rationale for 11.9 -- NULL constant
#1
Can anyone explain what the rationale is for this rule? I could think of several arguments for why you shouldn't use NULL, and should prefer a plain 0 (as is generally preferred in C++). This feels like a stylistic issue.

Thanks,
stephen
<t></t>
#2
The standard (ISO 9899:1999 6.3.2.3) defines a null pointer constant:

Quote:An integral constant expression with the value 0 , or such an expression cast to type void *, is called a null pointer constant.
This means, for example that it is legitimate in the C language to compare a pointer expression with any form of integer constant expression including for example '\0' or any enum constant of value 0. For this reason it is advisable to use NULL wherever a null pointer constant is intended.

The semantics are subtly different in C++
Posted by and on behalf of the MISRA C Working Group


Forum Jump:


Users browsing this thread: 3 Guest(s)