|
|

楼主 |
发表于 2005-11-24 10:17:52
|
显示全部楼层
Post by zhllg
如果不考虑堆栈对齐,在32位机里
第一段将固定占用8个字节的堆栈空间
第二段将随数组的大小而变化,从8到68字节
malloc本身就需要时间执行
如果是动态连接,可能还要花符号解析的时间
还需要free
所以如果不需要在别的函数里访问这个数组
并且不需要改变这个数组长度的话
首选第二段代码
比如有这种情况:
- char* struct_to_str( struct info mine );
- char* struct_to_str( struct info mine )
- {
- /*这里面我malloc一块合适的空间,最后return之。如果不用malloc,还有好的办法吗?*/
- }
复制代码 |
|