|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Вопросы начинающего программиста |
|
|
Вопросы начинающего программиста
|
Ветеран Сообщения: 1864 |
Профиль | Отправить PM | Цитировать Делаю такую переменную: char text[30]. А значение данной переменной должно состоять из занчений двух переменных и плюс просто текст, то есть значение переменной text как бы собирается из разных частей
Как это правильно записать?? text=var1"lalala"var2 конечно не проходит P.S.:вопросов будет ещё много Добавлено: А сам разобрался: надо использовать функцию sprintf() Админам: плиззз, не удаляйте этот топик Я буду тут свои вопросы задавать |
|
------- Отправлено: 20:29, 29-09-2004 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 00:58, 10-01-2005 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Во-о-о-от. А теперь пускай сюда придут люди, которые говорят, что "С круче Дельфи" и расскажут в двух словах, как бы это так хитро сделать, чтобы программа была ясна и понятна...
|
Отправлено: 01:20, 10-01-2005 | #22 |
Пользователь Сообщения: 84
|
Профиль | Отправить PM | Цитировать Вот пример.
#include <stdio.h> #include <stdlib.h> #include <conio.h> int *wrong_func() { int b[6] = {0, 1, 2, 3, 4, 5}; int *ptr; ptr = &b[0]; return ptr; } int *solve_func() { int *b; int i; b = (int *)malloc(sizeof(int) * 6); for (i = 0;i < 6; i++) b[i] = i; return b; } void main() { int *c; int i; c = wrong_func(); for(i = 0;i < 6; i++) printf("%d ",c[i]); printf("\n"); c = solve_func(); for(i = 0;i < 6; i++) printf("%d ",c[i]); printf("\n"); free((void *)c); getchar(); } |
Отправлено: 01:30, 10-01-2005 | #23 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать Массив полностью вернуть из функции нельзя. Можно напрямую работать с массивом через указатели, тогда необходимость возвращать что-нибудь отпадает. Само имя массива по сути дела - всего лишь указатель.
Пример |
Последний раз редактировалось mrcnn, 10-01-2005 в 05:33. Отправлено: 05:17, 10-01-2005 | #24 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать mrcnn
а что значит *(с+i)=*(b+i) ? c и b - массивы, к элементу массива же вроде так обращаемся: c[i] |
Отправлено: 23:28, 11-01-2005 | #25 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать vadimiron
Если очень примитивно объяснять, то указатель + целое == указатель[целое] |
Отправлено: 08:18, 12-01-2005 | #26 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать Цитата:
таким образом конструкция *(c+i) указывает на i элемент массива c. По сути дела *(c+i) аналогично c[i], а *(с+i)=*(b+i) аналогитчно c[i]=b[i] |
|
Отправлено: 08:21, 12-01-2005 | #27 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] нужна помощь программиста. | foxbat | Программирование в *nix | 0 | 09-11-2009 13:45 | |
iZone для Линукса (Вопросы начинающего) | Invite | Общий по Linux | 30 | 16-06-2004 14:42 | |
Вопрос начинающего | libricon | Общий по Linux | 11 | 06-04-2004 23:40 | |
Squid для начинающего | djipa | Общий по Linux | 6 | 02-12-2003 06:56 | |
Мукулатура для начинающего | Daiv | Программирование и базы данных | 10 | 17-10-2002 11:44 |
|