The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"указатели на указатели"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"указатели на указатели"  
Сообщение от forfreeuse email(??) on 13-Окт-06, 12:09 
Есть массивы указателей на строки вида:

unsigned char **id_list;
unsigned int  id_list_count;

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

main
  {
   ...
   add_to_list(&id_list,&id_list_count);
   ...
  }

int add_to_list(unsigned char ***list, unsigned int *list_count)
{

  // Add memory for pointer
  *list = (unsigned char **) my_realloc(*list, (1 + (*list_count)) * sizeof(unsigned char *));

  // Add string
  (*list)[*list_count] = (unsigned char *) my_malloc(z+3);

}

Смущает количество звёздочек :)

Это нормальная практика или есть способ лучше (без использования сторонних библиотек)?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "указатели на указатели"  
Сообщение от Аноним on 13-Окт-06, 18:53 
> Смущает количество звёздочек :)
>
> Это нормальная практика или есть способ лучше (без использования сторонних библиотек)?

Если без C++, то, думаю, по другому особо и не сделать. Код будет читабельней, если:

1) unsigned char **id_list, unsigned int  id_list_count запихнуть в структуру, указатель на которую передавать в add_to_list.
2) код, работающий со списком вынести в отдельную библиотеку (.h/.c)
3) ввести там свои типы (typedef char* string_t, typedef string_t* list_t) для уменьшения количества звездоче и улучшения читабельности.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "указатели на указатели"  
Сообщение от Bob (??) on 17-Окт-06, 01:02 

>
> Смущает количество звёздочек :)
>

Лучше всего пять звездочек :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "указатели на указатели"  
Сообщение от dkrot email(??) on 17-Окт-06, 15:22 
> Смущает количество звёздочек :)
>
> Это нормальная практика или есть способ лучше (без использования сторонних библиотек)?
>
Количество указателей - это нормальное явление.
Но логически можно скомпоновать когда код кажется нечитабельным, скажем вписав строку или массив строк в структуру.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "указатели на указатели"  
Сообщение от Bob (??) on 23-Окт-06, 14:00 
> Это нормальная практика или есть способ лучше (без использования сторонних библиотек)?


Посмотри man queue

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру