#include<stdio.h>
typedef struct telephone
{
char *name;
int number;
} TELEPHONE;
int main()
{
//TELEPHONE index;
TELEPHONE *ptr_myindex;
ptr_myindex = (TELEPHONE*)malloc(sizeof(TELEPHONE));
//ptr_myindex = &index;
ptr_myindex->name = "Jane Doe";
ptr_myindex->number = 12345;
printf("Name: %s\n", ptr_myindex->name);
printf("Telephone number: %d\n", ptr_myindex->number);
free(ptr_myindex);
return 0;
}
これをコンパイルすると、ポインタを構造体に動的に割り当てず、代わりにコード内のコメントアウトされた部分を使用した場合と同じ結果が出力されます。なぜこれが起こるのですか?