Динамический массив push () в C вызывает ошибку Valgrind

Может быть полезно также:

В некоторых случаях может оказаться полезным получить скрытый текст, который можно извлечь из атрибута textContent, innerText или innerHTML элемента, вызвав element.attribute('attributeName').

element.getAttribute("textContent") работал для меня.

Подробнее см. там -> http://yizeng.me/2014/04/08/ получить-текст-из-скрытых элементов, используя селенистые-WebDriver /

-1
задан Filip Geib 26 February 2019 в 13:05
поделиться

1 ответ

Функция должна быть:

void pushINT(int **arr,int *size,int data) {
    int *tmp=realloc(*arr,(*size+1)*sizeof(int));
    if (tmp==NULL) exit(100);
    *arr= tmp;
    tmp[*size]=data;
    (*size)=*size+1;
}

Обратите внимание, что теперь он получает двойной указатель, и помните, что realloc может изменить расположение памяти. Поэтому необходимо обновить указатель вызывающего абонента, причину, по которой ему нужен двойной указатель.


Или, как предлагает Джонатан Леффлер:

int *pushINT(int *arr,int *size,int data) {
    int *tmp=realloc(arr,(*size+1)*sizeof(int));
    if (tmp==NULL) exit(100);
    tmp[*size]=data;
    (*size)=*size+1;
    return tmp;
}
0
ответ дан Paul Ogilvie 26 February 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: