C 如果满足条件,是否可以在每次迭代中放大阵列?

C 如果满足条件,是否可以在每次迭代中放大阵列?,c,malloc,C,Malloc,我有这个结构 typedef struct { int numberPipes; // | int numberAmpersands; // & int existsBiggerThan; // > int existsLessThan; // < int existsDoubleLargerThan; // >> } lineData;

我有这个结构

typedef struct
{
    int numberPipes;              // |
    int numberAmpersands;         // &
    int existsBiggerThan;         // >
    int existsLessThan;           // <
    int existsDoubleLargerThan;   // >>

} lineData;
typedef结构
{
整数管道;//|
int numberrampersands;//&
int existsBiggerThan;//>
int existsLessThan;//<
int existsDoubleLargerThan;//>>
}线条数据;
我在
char
数组(char*)上运行我的循环,以查找
&
'|'
的所有索引

我不知道我要找多少钱。是否可以从两个数组开始(使用
malloc

并且在每次迭代后放大它们,只要我找到其中一个的另一次出现

你可以打电话来


出于性能原因,最好不要为每个新元素调用它,而是在X元素中调用一次,因此您可以通过调用减少对
malloc
/
realloc
的调用次数


出于性能原因,最好不要为每个新元素调用它,而是在X元素中调用一次,这样可以减少对
malloc
/
realloc

的调用次数。如果不能放大数组,数组的大小是固定的。你可以放大一个dyn。分配的内存块。@user411313:你当然是对的。我指的是一个动态分配(char*array)数组。最好使用链表,调整数组大小是一个非常昂贵的操作。我宁愿将它初始化为行中的字符数,也不愿这样做。你不能放大数组,数组有固定的大小。你可以放大一个dyn。分配的内存块。@user411313:你当然是对的。我指的是一个动态分配(char*array)数组。最好使用链表,调整数组大小是一个非常昂贵的操作。我宁愿将它初始化为行中的字符数,也不愿这样做。