Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 2
1

Создать массив с параметрами и потом его передать в эту функцию

08.12.2013, 16:19. Показов 1224. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть функция с параметром (char** argv).
Мне необходимо создать массив с параметрами и потом его передать в эту функцию.
Вопрос заключается в следующем, как создать данный массив, заполнить и передать?
Пробовал так, но не получилось:
ps: компилю под линуксом
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
char** tmp_arg= (char**) malloc(sizeof(char)*5); //5 - т.к. надо передать пять параметров строковых
for(int i = 0; i < 5; i++)
   tmp_arg[i] = (char*) malloc(sizeof(char)*20); //под каждый из параметров 20 символов выделять
 
//далее для теста так заполнял:
tmp_arg[0][0]="p"; //первый
tmp_arg[0][1]="a";
tmp_arg[0][2]="r";
tmp_arg[0][3]="1";
 
tmp_arg[1][0]="p"; //второй
tmp_arg[1][1]="a";
tmp_arg[1][2]="r";
tmp_arg[1][3]="2";
 
//и т.д. остальные три параметра
 
//А вот так можно?:
tmp_arg[0]="par1"; //первый
tmp_arg[1]="par2"; //второй
//...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2013, 16:19
Ответы с готовыми решениями:

Передать массив в функцию, произвести манипуляции с ним, вернуть его
Всем привет, при написании программы возникли некоторые сложности, нужно передать массив в функцию,...

Создать массив из 1 000 000 000 и более элементов, а потом заполнить и вывести его
создаю массив, и все идет нормально #include &lt;stdio.h&gt; #include &lt;malloc.h&gt; #include...

создать массив из дробей и передать его в функцию, которая изменит каждый чётный элемент путём добавления следующего за этой дробью
Надо создать массив из дробей и передать его в функцию, которая изменит каждый чётный элемент путём...

Вызвать внутри функции эту же функцию с параметрами
я новичок подскажите,как вызвать внутри функции эту же функцию с аргументами есть такой код ...

4
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
08.12.2013, 16:25 2
Если посимвольно инициализируете чаровский массив, не забывайте о нулевом символе в конце.
0
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 2
08.12.2013, 16:28  [ТС] 3
Цитата Сообщение от kazak Посмотреть сообщение
Если посимвольно инициализируете чаровский массив, не забывайте о нулевом символе в конце.
Ну это само собой, вопрос в другом)
0
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
08.12.2013, 18:29 4
Кстати,
Цитата Сообщение от Capone123 Посмотреть сообщение
C
1
char** tmp_arg= (char**) malloc(sizeof(char)*5);
C
1
char** tmp_arg= (char**) malloc(sizeof(char*)*5);
0
4 / 4 / 3
Регистрация: 10.10.2013
Сообщений: 189
21.01.2014, 16:57 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

в принцыпе как я понимаю можно не выдилять память ,а просто в начале объявить
C
1
char mas[M][N];
но перед этим объявить М и Н
C
1
2
# define M 5
# define N 10
после того как вы заполнили свою матрицу .
вам надо ее передать в функцию которая будет с ней что то делать просто после заполнения пишите
C
1
obrobotka(mas);
а вне мейна создаете функцию в которой будете работать
C
1
void obrobotka(char mas[M][N])
и все.
вроде правильно понял ваш вопрос
0
21.01.2014, 16:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2014, 16:57
Помогаю со студенческими работами здесь

Как правильно передать вектор в функцию и вызвать эту функцию?
Здравствуйте, объясните как исправить ошибку. Возникает после for(), выдается, что размер polygon =...

Передать в функцию массив без указания его размера
Вопрос . какой массив мы можем передавать в функцию без указания элемента ?

Создать динамический массив строк, заполнить его и потом добавить строку после самой короткой строки
нужно создать динамический массив строк, заполнить его и потом добавить строку после самой короткой...

Как создать массив строк или символов, чтобы потом можно было с цикла его заполнить?
Есть наработки, но не работает: while(c!=27){ FILE* file1; file1=fopen(&quot;zarplaty.txt&quot;,&quot;r&quot;);...


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

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