Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Двусвязный список передача значений / 19 сообщений из 19, страница 1 из 1
23.10.2007, 07:42:57
    #34886639
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Есть некая структура список:

struct spis
{ char family[30], char name[30], char patro[30], .....;
struct spis *prev; // на предыдущую структуру
struct spis *next; // на следующую
};
struct spis *head, *tail;

Как присвоить значение family, name, patro переменнным a,b, и с.
...
Рейтинг: 0 / 0
23.10.2007, 09:32:35
    #34886760
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
head->family
...
Рейтинг: 0 / 0
23.10.2007, 12:42:13
    #34887466
ErV
ErV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Akh wrote:

> head->family
А если a, b, c другого типа? Тип переменных не указан.
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
23.10.2007, 12:46:25
    #34887488
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
ErV
Akh wrote:

> head->family
А если a, b, c другого типа? Тип переменных не указан.
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4

А если это дворник был?

Это что-то меняет в доступе к полю через указатель на структру?
...
Рейтинг: 0 / 0
23.10.2007, 13:20:25
    #34887679
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Делаю
void korr(void)
{ spis *p, *pred;
char a[30], char b[30], char c[30];
....
Добавление новой структуры
....
p=head;
a=p->family;

При компиляции дает ошибку: Lvalue required in function korr()
...
Рейтинг: 0 / 0
23.10.2007, 13:23:43
    #34887703
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
void korr(void) - это что такое? где параметр?
...
Рейтинг: 0 / 0
23.10.2007, 13:29:12
    #34887727
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
tmiДелаю
void korr(void)
{ spis *p, *pred;
char a[30], char b[30], char c[30];
....
Добавление новой структуры
....
p=head;
a=p->family;

При компиляции дает ошибку: Lvalue required in function korr()

используй memcpy.
...
Рейтинг: 0 / 0
23.10.2007, 13:31:11
    #34887738
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Tubrikvoid korr(void) - это что такое? где параметр?
прогнал
...
Рейтинг: 0 / 0
23.10.2007, 13:44:22
    #34887801
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Все тоже самое
......
а=memcpy(p->family);
Ошибка компиляции:
Too few parameters in call to 'memcpy(void far*, const void far*, unsigned int)' in function korr()
...
Рейтинг: 0 / 0
23.10.2007, 13:47:11
    #34887814
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
найдите справочник по ф-иям, любой

Функция memcpy

#include <string.h>
Код: plaintext
void *memcpy(void *to, const void *from, size_t count);

Функция memcpy() копирует count символов из массива, адресуемого параметром from, в массив, адресуемый параметром to. Если заданные массивы перекрываются, поведение функции memcopy() не определено.

В версии С99 к параметрам to к from применен квалификатор restrict.

Функция memcpy() возвращает значение указателя to.
Пример

Данная программа копирует содержимое массива buf1 в массив buf2 и выводит результат на дисплей.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#include <stdio.h>
#include <string.h>

#define SIZE  80 

int main(void)
{
  char buf1[SIZE], buf2[SIZE];

  strcpy(buf1, "Когда, в случае если...");
  memcpy(buf2, buf1, SIZE);
  printf(buf2);

  return  0 ;
}
...
Рейтинг: 0 / 0
23.10.2007, 13:49:51
    #34887835
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
tmiВсе тоже самое
......
а=memcpy(p->family);
Ошибка компиляции:
Too few parameters in call to 'memcpy(void far*, const void far*, unsigned int)' in function korr()

Маразм крепчал.
...
Рейтинг: 0 / 0
23.10.2007, 13:55:51
    #34887873
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Маразм крепчал.[/quot]

Обзываться каждый может, нет что бы объснить человеку нормально.
лучше или проще вылить ведро помоев.
...
Рейтинг: 0 / 0
23.10.2007, 14:09:31
    #34887939
tmi
tmi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Tubrik - огромное спасибо.
Все получилось!
...
Рейтинг: 0 / 0
23.10.2007, 14:10:54
    #34887952
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
tmiМаразм крепчал.

Обзываться каждый может, нет что бы объснить человеку нормально.
лучше или проще вылить ведро помоев.[/quot]

Разжевать и в рот засунуть? Уже справку разленились смотреть.
...
Рейтинг: 0 / 0
23.10.2007, 14:28:47
    #34888051
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Пожайлуста.
Кстати Akh более чем прав. Хотябы потому, что ответ на ворос лежал в сообщении компилятора:
Too few parameters in call to 'memcpy(void far*, const void far*, unsigned int)' in function korr()
Так что не надо обижаться на справедливые замечания.

Здесь хорошой справочник по Си на русском, на первое время будет очень полезен.
...
Рейтинг: 0 / 0
23.10.2007, 15:02:50
    #34888224
ErV
ErV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Akh wrote:

> Это что-то меняет в доступе к полю через указатель на структру?
Объясняю.
В первом посте не указан тип переменных a, b, c. Неизвестно, указатель
они или нет, какого они типа, и т.д. Известно, только, что они
существуют.
Теперь понятно?
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
23.10.2007, 15:08:37
    #34888249
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
ErV
Akh wrote:

> Это что-то меняет в доступе к полю через указатель на структру?
Объясняю.
В первом посте не указан тип переменных a, b, c. Неизвестно, указатель
они или нет, какого они типа, и т.д. Известно, только, что они
существуют.
Теперь понятно?
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4

Да, понятно изначально было.

Я ответил, что привел способ доступа к полям, но не приводил, как копировать, т.к. см. что сам написал. Поэтому, при чем тут твое замечание именно ко мне, для меня осталось загадкой.
...
Рейтинг: 0 / 0
23.10.2007, 18:20:48
    #34889021
ErV
ErV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
Akh wrote:

> Поэтому, при чем тут твое замечание именно ко мне, для меня осталось
> загадкой.
(пожимая плечами)
Ну ладно, пардон, конечно. Это как замечание не задумывалось...
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
23.10.2007, 18:45:34
    #34889104
quaid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двусвязный список передача значений
tmi
Обзываться каждый может, нет что бы объснить человеку нормально.
лучше или проще вылить ведро помоев.

А Вы не подумали о том, что проще нажать F1 и ровно пять минут почитать справку, вместо задавания глупых вопросов на форуме?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Двусвязный список передача значений / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]