ANSI C : test return from calloc API - differ from windows and ibm cics
本问题已经有最佳答案,请猛点这里访问。
下面的ansi c代码在使用viasual studio 2010编译时返回有效指针(编译为c代码(/tc)):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
使用IBMCICS的C编译器的相同代码具有不同的行为,在API调用calloc时返回空值。Visual Studio 2010的行为是否正确?
由于该测试,回调在这两种情况下都有不同的效果。
如CPPreference提供的文件所述:
If size is zero, the behavior is implementation defined (null pointer may be returned, or some non-null pointer may be returned that may not be used to access storage)
别那么做。
http://en.cppreference.com/w/cpp/memory/c/calloc