У меня есть путаница со следующей программойКак сохранить строку в указатель char?
#include<stdio.h>
void main()
{
char *string;
string = (char *)malloc(5);
string = "abc"; // <<<<<<<<<< why *string="abc" is not working. How string = "abc" is working?
printf("%s", string);
}
Но та же программа с целочисленными работает
char *i;
i=(int *)malloc(sizeof(int));
*i=4; <<<<<<<< this is working fine
printf("%d",*i);
всегда предпочитают 'Int основной (вакуум)' 'над недействительным основной()' –
Standard Предупреждение: [не отбрасывают] (http://stackoverflow.com/q/605845/ 2173917) возвращаемое значение 'malloc()' и family в 'C'. –