有没有办法在vim的括号(或大括号)中包含一些文本?
换句话说,你会怎么做?
初始字符串:
It is sunny outside.
Run Code Online (Sandbox Code Playgroud)
最终字符串:
It is (sunny) outside.
Run Code Online (Sandbox Code Playgroud)
有趣的是,我只是点击:w
提交这个问题.
快乐的viming,SOCommunity!
我不明白为什么,在下面的代码片段中,程序员使用了一个静态变量(因此我开始怀疑我的所有小知识):
int func (...) {
static unsigned int *temp = NULL;
if( temp == NULL ) {
temp = malloc(dim*sizeof(*temp));
}
// do stuff with temp
}
Run Code Online (Sandbox Code Playgroud)
在main()中,func在循环中被多次调用:
int main() {
for (i = 0; i < N; ++i)
x = func(...);
}
Run Code Online (Sandbox Code Playgroud)
对func的第一次调用将变量temp初始化为NULL,从而分配了temp(也许初始化也是多余的(根据这篇文章).
函数func对temp不做任何特殊处理,只要满足条件就从另一个(全局)数组复制一些值,并返回写入的元素数.
如果我理解正确,malloc会在堆中分配内存,因此内存将是持久的,直到它被显式释放,并且由于指针是静态的,因此可以在后续调用中访问它.
那么问题:
我需要修改上面的代码(这更复杂),我更喜欢在func之外分配temp然后将它传递给函数,我想确保我没有遗漏一些重要的东西.顺便说一下,我以为我可以学到一些东西:).
谢谢.