Size: a a a

IT KPI C/С++ ХВ (хорошо, что не UB)

2020 January 07

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
не ну всмысле забил, мне лабу сдавать
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
потому что не удалось перевыделить память
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
Bars0_o [SpamBlock]
не ну всмысле забил, мне лабу сдавать
ну в прямом, ебаш цикл по каждой структуре
источник

AP

Alexander Pavlyuchuk in IT KPI C/С++ ХВ (хорошо, что не UB)
вернуло null
источник

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
Alex Master
ну в прямом, ебаш цикл по каждой структуре
там труктура на 16 байт
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
так, стоп, массив структур
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
сек
источник

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
жду
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
#include <malloc.h>
#define MAX(x, y, type) (((type)x) > ((type)y) ? (x) : (y))

void *my_realloc(void *ptr, size_t size) {
   void *new_ptr = NULL;
   size_t old_size = _msize(ptr);

   if (ptr == NULL)
       return malloc(size);
   else if (size && (new_ptr = malloc(MAX(size, old_size, size_t))))
       memcpy(new_ptr, ptr, old_size);
   if (old_size)
       free(ptr);
   return new_ptr;
}
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
какой деловой
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
макрос можешь поменять на знак, там не важно
источник

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
Оке, спасибо
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
в общем, вангую, если у тебя realloc() выделывался, то теперь будешь ловить NULL от malloc
источник

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
Bars0_o [SpamBlock]
доброй ночи всем

CityCounter++;
CityList = realloc(CityList, (CityCounter + 1) * sizeof(City));


Почему при попытке расширить массив структур "City" CityList, после выполнения данного кода Citylіst  cтает нулевым указателем?
А почему нельзя вот так?
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
тебе вон умный человек выше ответил
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
Alex Master
#include <malloc.h>
#define MAX(x, y, type) (((type)x) > ((type)y) ? (x) : (y))

void *my_realloc(void *ptr, size_t size) {
   void *new_ptr = NULL;
   size_t old_size = _msize(ptr);

   if (ptr == NULL)
       return malloc(size);
   else if (size && (new_ptr = malloc(MAX(size, old_size, size_t))))
       memcpy(new_ptr, ptr, old_size);
   if (old_size)
       free(ptr);
   return new_ptr;
}
жду сообщение Тиля, где он скажет, что тут УБ
источник

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
Alex Master
#include <malloc.h>
#define MAX(x, y, type) (((type)x) > ((type)y) ? (x) : (y))

void *my_realloc(void *ptr, size_t size) {
   void *new_ptr = NULL;
   size_t old_size = _msize(ptr);

   if (ptr == NULL)
       return malloc(size);
   else if (size && (new_ptr = malloc(MAX(size, old_size, size_t))))
       memcpy(new_ptr, ptr, old_size);
   if (old_size)
       free(ptr);
   return new_ptr;
}
твое вот это чудо тоже нуль вернуло
источник

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
и переменная old_size дикая какая-то вышла
источник

B[

Bars0_o [SpamBlock] in IT KPI C/С++ ХВ (хорошо, что не UB)
источник

AM

Alex Master in IT KPI C/С++ ХВ (хорошо, что не UB)
привыкай)))))))))))))))))))
источник