правила приоритета? while((**i = fgetc(fp)) != EOF) почему я это все в скобочки должен выделять, чтоб работало как должно?
эт все магия
Вроде нормально же, присваивание выполняется в самом конце
вот тебе тогда задачка посложнее: //int k[50]; int *k; k =(int*)calloc(1,80); readData(k); writeMap( k, gRenderer, imageSurface); free(k); k = NULL; untilPressKey (quit, e); когда я задаю массив статически, программа работает без проблем, когда я задаюю массив динамически, программа запускается через раз, и в конце программы вылеетает : double free or corruption (out) Аварийный останов (стек памяти сброшен на диск)
>calloc(1,80); Почему не calloc(50, sizeof (int)); ?
потому что он выдаст ошибку, потому что не поймет что за тип, должно быть так
Ну добавьте приведение типов, мой вопрос про аргументы каллока
а это неважно поидее, но да ты прав, сначала nomerous а потом sizeof
Ну, это важно Потому что у тебя памяти выделяется меньше чем под 50 интов
нет, это неважно, то есть я могу написать (int*)calloc(240,1);
Можете,но вы написали 80
а как я могу, если в первом аргументе пишется количество аргументов, а во втором их размер
Обсуждают сегодня