![](/img/trans.png)
[英]Why can I have differing signatures for a function's definition and declaration?
[英]Why have a 'static' definition in a function?
如果没有static
关键字,则缓冲区将在堆栈上分配-并在函数返回调用者时释放。
使用static
确保函数返回后缓冲区有效。
您需要一个指针,以便可以存储更改的地址。 如果您只有retbuf
,则必须设计该函数以使用变化的索引变量。 例如:
int ind = sizeof(retbuf)-1;
retbuf[ind] = '\0';
等等
请注意,数组不是指针。 数组是内存的固定大小区域。 指针是地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.