(링크드리스트 관련 질문)이게 왜 안되는지 도무지 모르겠네요
달님
2023.04.01
.
.
.
.
typedef struct node nod;
struct node{
char name[12];
int price;
nod *next;
};
nod *head;
nod *cur, *allocation;
.
.
.
allocation = (nod *)malloc(sizeof(nod));
head = allocation;
allocation-name = Marchel;
allocation-price = 400;
.
.
.
위에 소스 실행하면 굵은 글씨에서 에러나거든요...
저게 왜 대입이 안되죠????strcpy함수로 해야한다는데...
도대체 이유를 알아야 직성이 풀릴듯한데...알려주실분~~
-
초엘
문자열의 복사는 strcpy 함수를 사용합니다.
-
대나무
allocation-name = \Marchel\;에서 name은 이미 선언되어져있는 배열이기때문에 초기화가아닌이상 배열의 전부를 한꺼번에 저장할수가없습니다.
-
후력
예를 들어 int i=1; 과 int i; i=1;과는 결과는 같지만 과정은 다릅니다 i = 1에서 =는 대입연산자이지만 초기화에서 =은 대입연산자가아닙니다 그냥 구분을 위해서 중간에 넣는 것입니다. int ar[2] = {0,1};에서 =을 대입연산자라고 오해하게되면 ar={01};이 가능해진다고 오해하는경우가 있지요 실행중에 배열의 요소 전보를 한꺼번에 대입할수있는 방법은 제공되지않습니다 한꺼번에 저장할수잇는방법은 선언할때만 가능합니다 이는