57 / 29 / 8
Регистрация: 03.06.2016
Сообщений: 284
1

Динамический массив строк разной длинны

12.11.2016, 00:15. Показов 9673. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, столкнулся с проблемой. не могу сделать сабж. Память рушиться =( Помогите плиз... Идея такая, должен быть некий массив переменной длинны, каждый элемент которого является строкой, пытался сделать так как показано ниже, но не получилось SIG TERM =(

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
static char **strings;
static int stack_cnt;
static int stack_pos = 0;
 
static void stack_init(int count) {
// Инициализация стека
 
    strings = malloc(sizeof(void) * count);
    for (int i = 0; i < count; i++) {
        strings[i] = (char*)malloc(BUFSIZ);
        *strings[i] = '\0';
    }
    stack_cnt = count;
}
 
static void stack_free() {
// Финализация стека
 
    for (int i = 0; i < stack_cnt; i++) {
        free(strings[i]);
    }
}
 
static int stack_push(char *str) {
 
    if (stack_pos < 0 || stack_pos == stack_cnt) {
        stack_pos = 0;
    }
    strcpy(strings[stack_pos++], str);
    return stack_pos;
}
 
static int stack_pop(char *str) {
 
    if (stack_pos < 0) {
        return 0;
    }
    strcpy(str, strings[--stack_pos]);
    return stack_pos;
}
Полный код проекта: https://github.com/sinitcin/CL... _0/KR/5.13
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2016, 00:15
Ответы с готовыми решениями:

Как поместить строки разной длинны в двумерный массив? (файловый ввод/вывод)
Всем доброго времени суток! Есть файл с нескольким количеством строк и все эти строки разной...

Можно ли в классе создавать массив переменной длинны. Например динамический массив?
Динамические массивы привлекают больше. :)

Двумерный динамический массив со строками разной длины
Объявить двумерный динамический массив со строками разной длины, заполнить его, вывести, освободить...

Сравнение разной длинны и содержания ячеек
Добрый день уважаемые знатоки! Есть задача выполнить сравнение двух столбцов, содержащих номера...

2
Вездепух
Эксперт CЭксперт С++
11746 / 6421 / 1730
Регистрация: 18.10.2014
Сообщений: 16,208
12.11.2016, 00:26 2
Цитата Сообщение от RuCode Посмотреть сообщение
sizeof(void)
Что это такое? Это не С. В С нет и не может быть никакого sizeof(void).
1
57 / 29 / 8
Регистрация: 03.06.2016
Сообщений: 284
12.11.2016, 14:26  [ТС] 3
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Что это такое?
Я думал, что void - это типа указатель, но оказывается нет =( Заменил на sizeof(void *)

Добавлено через 16 минут
Перепроверил, работает, спасибо TheCalligrapher =)
0
12.11.2016, 14:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2016, 14:26
Помогаю со студенческими работами здесь

сравнение элементов массивов разной длинны
Есть 2 массива разной длинны - mass1, mass2. Мне нужно перемножить элементы массивов так: mass1 *...

Как создать одномерный динамический массив, элементами которого будут одномерные массивы разной длины?
Здравствуйте. Подскажите как создать одномерный динамический массив, элементами которого будут...

Не работает нахождение СПМ для разной длинны окна (выделяющей функции)
Прошу помочь устранить ошибку в программе. %ФУНКЦИЯ РАСЧЕТА СПМ МЕТОДОМ УЭЛЧА function...

Если в класс нужно передать указатель на указатель на массив строк неизвестной длинны?
Как проинициализировать массив строк wchar_t * (произвольного размера) , если его нужно передать в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru