是否有任何理由为什么itoa()函数返回void并将结果存储在传递给它的char []数组中,而不是返回char []?
Dav*_*nan 10
原因是函数期望调用者分配和提供缓冲区.这在C中是非常标准的.如果函数返回一个新缓冲区,则调用者必须负责释放它,并且它将强制缓冲区被动态分配.通过要求调用者提供缓冲区,该函数允许缓冲区分配自动存储或动态分配.
事实上,itoa我熟悉的版本确实会返回调用者提供的缓冲区,而不是返回void.
| 归档时间: |
|
| 查看次数: |
419 次 |
| 最近记录: |