Результаты поиска по запросу "malloc"

0 ответов

@YamahaSV Вы можете объявлять и инициализировать переменные вне функций, но у вас не может быть простых назначений. Так что ты не можешь писать

struct variables { unsigned int counter; char *bra; unsigned int maxb; int *findtheking; unsigned int numoright; }; int getlen = 0; // I give getlen a value in another function int solo = 0; mat.bra = (char*)malloc(sizeof(char)*getlen); mat.bra = ...

7 ответов

- Пит

я есть несколько связанных вопросов об управлении выровненными блоками памяти. Кроссплатформенные ответы были бы идеальными. Однако, поскольку я почти уверен, что кросс-платформенного решения не существует, я в основном интересуюсь Windows и ...

4 ответа

Что произойдет, если я использую malloc дважды для одного и того же указателя (C)?

Скажем, например, я создал указатель newPtr, и я использую malloc (некоторый размер), а затем позже я снова использую malloc (некоторый размер) с тем же указателем. Что происходит? Создаю ли я второй блок памяти того же размера, что и первый? ...

ТОП публикаций

3 ответа

чтение файла CSV в массив массива

Я начинаю кодировать на C. Мой код выглядит следующим образом: #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STR_LEN 256 #define MAX_BOOKS 256 struct book{ int ID; char *name; char *dateIn; char *dateOut; }; struct book ...

7 ответов

В Linux вы можете использовать malloc_usable_size, чтобы узнать, сколько памяти вы можете использовать. На MacOS и других платформах BSD вы можете использовать malloc_size. Пост, связанный выше, имеет полные примеры обоих этих методов.

# include <stdio.h> # include <stdbool.h> # include <string.h> # include <stdlib.h> int main () { char * buffer; buffer = malloc (2); if (buffer == NULL){ printf("big errors"); } strcpy(buffer, "hello"); printf("buffer is %s\n", buffer); ...

7 ответов

Хорошая причина называется виртуальными таблицами. Объекты типов, которые имеют виртуальные методы, имеют таблицу указателей, указывающих на адрес реальных виртуальных методов, которые будут вызваны. Это так называемые виртуальные таблицы или виртуальные таблицы.

жный дубликат: C ++: почемуnew нужно? [https://stackoverflow.com/questions/4904762/c-why-is-new-needed] Почему я не могу использовать malloc для выделения пространства для моих объектов, когда они являются детьми класса, содержащего виртуальные ...

1 ответ

за исключением случая, когда malloc не удалось

асно ли делать что-то вроде следующего? #include <stdio.h> #include <malloc.h> #include <string.h> int main(void) { char* msg; strcpy(msg, "Hello World!!!"); //<--------- printf("%s\n", msg); return 0; }Или следует использовать следующее? char* ...

2 ответа

Ссылка не работает

я есть короткая программа, которая генерирует связанный список, добавляя к нему узлы, а затем освобождает память, выделенную связанным списком. Valgrind не сообщает об ошибках утечки памяти, но процесс продолжает удерживать выделенную память. Я ...

8 ответов

Как free и malloc работают в C?

Я пытаюсь выяснить, что случилось бы, если бы я попытался освободить указатель «из середины», например, посмотрите на следующий код: char *ptr = (char*)malloc(10*sizeof(char)); for (char i=0 ; i<10 ; ++i) { ptr[i] = i+10; } ++ptr; ++ptr; ++ptr; ...

2 ответа

 выделить буфер и расширить его, когда он заполнится.

я хочу прочитать строку произвольной длины из командной строки, как лучше всего это сделать? На данный момент я делаю это: char name_buffer [ 80 ]; int chars_read = 0; while ( ( chars_read < 80 ) && ( !feof( stdin ) ) ) { name_buffer [ ...