Content deleted Content added
→Memory allocation: My biggest beef with C. That and C strings of course. |
No edit summary |
||
Line 136:
As well, more than most other language standards, the C standard leaves some behavior unspecified, such as the order of evaluation of arguments to a function, to allow compilers to have them evaluated in whatever way they believe will be optimal for their target platforms. This can result in code fragments which behave differently when compiled by different compilers, by different versions of the same compiler, or on different architectures;
these can be avoided by careful programming.
==The C Standard Library==
Although not part of the C language itself, the [[C standard library]] often draws criticism for its insecure and error prone functions, particularly those related to string processing. Indeed, a large proportion of security vulnerabilities result from incorrect use of the C standard library. These could have been avoided if a safe built-in string type were available. Although it is not possible to add a true string type to C as it is with Java or C++, safer versions of many of the libraries functions have been written.<!-- Can't believe no-one had written this already. Needs a bit of expanding, maybe some examples?-->
==Maintenance==
|