Мне goto запретил пользоваться Сиддхартха Рао)
где можно почитать про присваивания подобных {0, 0, 0, 0} для разных типов и объектов?
Тут же создается массив указателей, адрес которых = 0.
int i = *((int*)arr);
Здесь происходи разыменование 1 элемента массива указателей,
почему не выводит сегфолт?
printf выводит 0?
arr будет указывать на первый байт первого элемента массива float чисел.
Если же определять переменную в каждой единице трансляции, то линковщик выругается на redefinition symbol,
в этом случае поведение такое как я описал в ответе
$ cat a.c
#include <stdio.h>
void f(void);
int i;
int main()
{
printf("i = %d\n", i);
f();
printf("i = %d\n", i);
}$ cat b.c
int i;
void f(void)
{
i = 42;
}$ gcc -W -Wall a.c b.c -o td
$ ./td
i = 0
i = 42
Vasia1993, нужно сделать это в процессе git rebase, остановившись (edit) на последнем коммите, который нужно реорганизовать. Стоя на нём можно сделать git reset a~1, собрать и закоммитить всё как надо, а потом продолжить git rebase --continue.