string[0] = "";
"warning: assignment makes integer from pointer without a cast
Хорошо, давайте погрузимся в выражение ...
0
int: представляет число символов (при условии, что string
является (или распадается на) символом *) для продвижения от начала объекта string
string[0]
: char
объект, расположенный в начале объекта string
""
: строковый литерал:объект типа char[1]
=
: оператор присваивания: пытается присвоить значение типа char[1]
объекту типа char
.char[1]
(с затуханием до char*
) и char
не совместимы с присвоением, но компилятор доверяет вам (программисту) и в любом случае выполняет задание, приведя тип char*
(к чему распался char[1]
)на int
--- и вы получите предупреждение в качестве бонуса. У вас действительно хороший компилятор : -)