首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么写这个函数可以更可靠呢

2013-01-18 
如何写这个函数可以更可靠呢?现在写了一个函数,int fun(int i, int n, char *p_str),参数有3个,2个是int的

如何写这个函数可以更可靠呢?
现在写了一个函数,int fun(int i, int n, char *p_str),参数有3个,2个是int的输入参数和一个char *的输出函数,p_str返回的内容是根据i和n算出来的,最大长度是n,本来是期望调用这个函数的时候油使用者分配长度不小于n+1的内存,这个函数只管往里写内容即可。
后来发现有人申请的内存小,传入的n很大,搞乱了内存。

怎么在fun这个函数中规避这类问题呢?

如果传进来一个**,在fun中分配内存,赋给static的返回给调用者,倒是可以不会搞乱内存,但是多出同时调用这个函数的时候难免出错。
如果在在fun中申请内存,返回给调用者,调用者来free的话,又怕有人不守规矩不free。

面对这类问题怎么设计函数呢?谢谢
[解决办法]
最初的设计就是对的。

申请的内存小,传入的n很大。这种错误由调用者承担。
[解决办法]
>怎么在fun这个函数中规避这类问题呢?
这错误就不该是fun里面解决的。
[解决办法]

引用:
最初的设计就是对的。

申请的内存小,传入的n很大。这种错误由调用者承担。


++

C 假设 programmer 是正确的
[解决办法]
引用:
最初的设计就是对的。

申请的内存小,传入的n很大。这种错误由调用者承担。


++

热点排行