小编M. *_*tih的帖子

如何设置VSCode以将花括号放在新行上?

假设我键入以下代码并对其进行格式化.

if (condition) { /* Hello! */ }
Run Code Online (Sandbox Code Playgroud)

如果这是C#代码,则格式如下:

if (condition)
{
    // Hello!
}
Run Code Online (Sandbox Code Playgroud)

如果是JavaScript,VSCode将其格式化为:

if (condition) {
    // Hello!
}
Run Code Online (Sandbox Code Playgroud)

那么如何为所有语言使用第一种格式样式(新行上的花括号)?我找不到设置或类似的东西.建议?

javascript formatting code-formatting visual-studio-code

32
推荐指数
5
解决办法
2万
查看次数

从动态数组中删除元素后,我需要在memmove后重新分配吗?

我正在研究C中的ArrayList实现.ArrayList存储指针(void*),这意味着ArrayList是一个动态的指针数组.我在这里如何从ArrayList中删除一个元素:

typedef struct
{
    void* ptr; // pointer of array (beginning)
    int length; // pointer count
}ArrayList;

void ArrayList_Remove(ArrayList *list, int index)
{
    memmove(
        list->ptr + (sizeof(void*) * index),
        list->ptr + (sizeof(void*) * (index + 1)),
        (list->length - index) * sizeof(void*)
    );
    list->length--;
    // Do I need to realloc list->ptr to free space?
    // list->ptr = realloc(list->ptr, list->length * sizeof(void*));
}
Run Code Online (Sandbox Code Playgroud)

正如我在代码中评论的那样,我需要重新分配list->ptr还是memmove会这样做?

c memory arrays pointers

6
推荐指数
1
解决办法
664
查看次数