gpt4 book ai didi

c - 优化(C语言): Many function calls vs One function call

转载 作者:行者123 更新时间:2023-12-03 16:52:32 27 4
gpt4 key购买 nike

<分区>

例如,我想创建一个将节点添加到列表的函数 (insertNode)。是每次我想添加一个节点时调用 insertNode 更快,还是将所有节点存储在一个数组中,然后只调用一次 insertNode,方法是传递数组作为参数,让函数完成剩下的工作?

代码示例:

typedef struct Data {
int *myArray; //the array where all integers are stored
int firstAvailablePos; //the first free position of myArray
} Data;

insertNode(Data *data, int newNum) {
(data->myArray)[data->firstAvailablePos] = newNum;
(data->firstAvailablePos)++;
}

alt_insertNode(Data *data, int *array, int arraySize) {
int i;
for(i = 0; i < arraySize; i++)
(data->myarray)[i] = array[i];
}

main 中的两个选项是:

  1. 许多函数调用

    while (...) {
    ...
    insertNode(data, newNum);
    }
  2. 一个函数调用

    anArraySize = 0;
    while (...) {
    ...
    anArray[i] = newNum;
    anArraySize++;
    ...
    }
    alt_insertNode(data, anArray, anArraySize);

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com