Змінюй хід війни! Допомагай ЗСУ!

оказывается...

  • Автор теми Автор теми _pasha
  • Дата створення Дата створення

_pasha

P
оказывается...

привет. сегодня узнал, что :eyecrazy:
Код:
Python 2.7.12+ (default, Sep 17 2016, 12:08:02) 
[GCC 6.2.0 20160914] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s='qwerty'
>>> s[::-1]
'ytrewq'
>>> l=range(5)
>>> l
[0, 1, 2, 3, 4]
>>> l[::-1]
[4, 3, 2, 1, 0]
>>>

а, ну еще. про это наверное много кто знает
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

--------------------------------------
нууууу :збентежений: или известная так же многим(но не всем) история об указателе на указатель
Linus on Understanding Pointers:
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

Код:
typedef struct list_entry {
    int val;
    struct list_entry *next;
} list_entry;
//.........................
list_entry *entry = head; /* assuming head exists and is the first entry of the list */
list_entry *prev = NULL;

while (entry) {
    if (entry->val == to_remove)     /* this is the one to remove */
        if (prev)
           prev->next = entry->next; /* remove the entry */
        else
            head = entry->next;      /* special case - first entry */

    /* move on to the next entry */
    prev = entry;
    entry = entry->next;
}
в общем, предлагаю сюда складывать подобные вещи
 
нууууу :збентежений: или известная так же многим(но не всем) история об указателе на указатель
Linus on Understanding Pointers:
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

Код:
typedef struct list_entry {
    int val;
    struct list_entry *next;
} list_entry;
//.........................
list_entry *entry = head; /* assuming head exists and is the first entry of the list */
list_entry *prev = NULL;

while (entry) {
    if (entry->val == to_remove)     /* this is the one to remove */
        if (prev)
           prev->next = entry->next; /* remove the entry */
        else
            head = entry->next;      /* special case - first entry */

    /* move on to the next entry */
    prev = entry;
    entry = entry->next;
}
Что этог и зачем оно здесь?

в общем, предлагаю сюда складывать подобные вещи
Подобные весчи это какие? Примеры ****окода?
 
ну тогда заходите не сюда, раз Вам так хочется написать чушь. куданить в другое место

:confused:

Что данный пример илюстрирует?
Где там двойные поинтеры?
И я уже молчу о том что сам код написан из рук вон отвратно.
Не говоря уже о том что с мемориликом.

Еще вопросы будут?
 
Еще вопросы будут?
:eek:
это я перепутал фрагменты когда стартпост писал.
а редактировать теперь нет возможности.....
пардон
Код:
list_entry **pp = &head; /* pointer to a pointer */
list_entry *entry = head;

while (entry) {
    if (entry->val == to_remove)
        *pp = entry->next;

    pp = &entry->next;
    entry = entry->next;
}

mem leak там не фигурирует. это просто удаление элемента из списка
 
:eek:
это я перепутал фрагменты когда стартпост писал.
а редактировать теперь нет возможности.....
пардон
Код:
list_entry **pp = &head; /* pointer to a pointer */
list_entry *entry = head;

while (entry) {
    if (entry->val == to_remove)
        *pp = entry->next;

    pp = &entry->next;
    entry = entry->next;
}

mem leak там не фигурирует. это просто удаление элемента из списка

И в чем тут фишка? Вы что двойного указателя никогда не видели?

А по поводу меморилика, в этом алгоритме теряется указатель на выделенную область памяти, причем теряется навсегда... Как это называется? Не меморилик случаем?
 
Назад
Зверху Знизу