C:TIL-스택에 여러 데이터 타입을 동시에 저장해야 할 때

Nayeon Kim·2021년 9월 20일
2

c language

목록 보기
6/9

first try- element 변수를 typedef로 int, char 2개 선언해봄-> 당연히 실패. 재정의라 2개의 타입으로 동시에 쓸 수 없음

typedef int element;
typedef char element;

second try-char형으로만 선언하고 정수를 문자로 인식하도록. 스택을 2차원 배열로 선언->실패. element 자체는 char형이라 item 저장할 때 문자 하나만 저장됨

typedef char element;
typedef struct {
	element data[MAX_STACK_SIZE][100];
	int top;
}StackType;

third try 성공!
element 자체를 배열로 선언하고, data 변수를 1차원 배열로 선언함으로써 문자열 배열이 되도록

typedef char element[100];
typedef struct {
	element data[MAX_STACK_SIZE];
	int top;
}StackType;

+사소한 실수 주의
1. 구조체 변수 . 구조체 포인터 ->
2. 함수 라이브러리 빠트리지 말기
3. 포인터 *, & 사용 적절히
4. 스택에 문자들을 저장하고자 할 때, strcpy로 값을 넣을 수 없음?

profile
Department of Computer Science

0개의 댓글