#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
typedef struct __data
{
char name[20];
} Data;
typedef Data* pdata;
int main()
{
pdata emp;
strcpy(emp->name, "왜안돼");
printf("%s", emp->name);
return 0;
}
error C4700: 초기화되지 않은 'emp' 지역 변수를 사용했습니다.
요로코롬 뜨는데, 이거 왜이렇게 뜨는거지? 포인터 안쓰면 정상작동되긴하는데 포인터 안쓰고랑 쓰고랑 차이가 뭐임?
emp = malloc(sizeof(Data)); 이걸 추가해야지
진짜 미안한데 이유 물어봐도 될까? 그냥 구조체변수로 emp.data 연산시에는 잘 돌아가던데
emp는 포인터로 메모리의 위치만 저장을 하는 4byte(x86) 또는 8byte(x64) 변수이기 때문이지
아 맞네 emp는 포인터변수니까 주소값만 할당되는구나 고맙다