#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *s;
s = strdup("foo");
printf("%s\n", s);
getchar();
return 0;
}
かなり無害に見えますね。しかし、Dev-C ++である私のIDEは、次の警告を出します。警告:代入はキャストなしで整数からポインターを作成します
次のようにコードを変更すると、警告は消えます。
char *s;
s = (char*)strdup("foo");
誰かが私がこれを説明するのを手伝ってもらえますか?