Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Ovoshlook, Вы писали:
O>>>>>>j содержит в себе длину сроки, которую я хочу положить в массив. Чтобы ее положить туда, мне нужно в массиве выделить память равную длине этой строки +1 (для символа \0) , где под каждый символ строки выделяется sizeof(char*) байт. Соответственно количество памяти которое должно выделиться под строку = sizeof(char*)*(j+1) (вот кстати похоже 1 ошибку нашел по приоритетам арифметических операций)
EP>[...]
O>>умножить размер одного символа на общее количество символов в строке. sizeof(char)*<количество_символов>
EP>
EP>Правильно, сравни с тем что было ранее, это одна из ошибок, на которую указал watchmaker.
EP>Итак, зная размер строки X, мы можем выделить под неё буфер:
EP>malloc(X) — возвращает указатель на выделенный буфер размера X, либо нулевой указатель в случае fail.
EP>Строка в C, обычно представляется как массив символов. Точнее как указатель на первый символ строки, который имеет тип char*.
EP>Соответственно выделив буфер, сохраним его в переменной с правильным типом (а раз у нас C, то приведение типов не нужно):
EP>EP>char *string = malloc(X);
EP>
EP>Далее вопрос, для чего тебе нужна эта новая строка (на данный момент содержащая мусор)?
Чтобы положить в нее свое значение