Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


size это просто число в структуре типа LSQ_HandleT*, которую мы уже создали в функции LSQ_CreateSequence(), память для этой структуры мы выделили (malloc) и даже присвоили значение полю size=0;
Код: Выделить весь код
LSQ_HandleT LSQ_CreateSequence()     //создать контейнер
{  // Потом все функции надо в отдельный фаил переместить   [C++ Warning] linear_sequence.h(100): W8058 Cannot create pre-compiled header: code in header
    struct LSQ_HandleT* handle = (struct LSQ_HandleT*)malloc(sizeof(struct LSQ_HandleT));
    (*handle).size = 0;
    (*handle).HeadElement = NULL;
    (*handle).TailElement = NULL;
	return (LSQ_HandleT)handle;
}
теперь в функции LSQ_InsertFrontElement память выделяется только для структуры типа LSQ_Element*,
а указатель на стр-ру типа LSQ_HandleT* (память для которой уже выделялась раннее) идет в качестве параметра данной функции,
который затем типизируется таким способом struct LSQ_HandleT* con = handle;

вот кстати C-фаил:
Код: Выделить весь код
#include <stdio.h>
#include "linear_sequence.h"

int main()
{
  LSQ_BaseTypeT e = 9;
  LSQ_HandleT sec = LSQ_CreateSequence;
  printf("LSQ_CreateSequence %d\n",sec);
  LSQ_InsertFrontElement(sec,e);

  getchar();  return 0;
}

Отправлено: 17:12, 18-03-2013 | #5