0
누군가 내가이 일을 제대로하고 있는지 말해 줄 수 있습니까?데이터 형식을 정의하는 방법
typedef struct {
int *stk;
int *sp;
} StackType;
는 I는 StackType이 절대적으로 올바른
누군가 내가이 일을 제대로하고 있는지 말해 줄 수 있습니까?데이터 형식을 정의하는 방법
typedef struct {
int *stk;
int *sp;
} StackType;
는 I는 StackType이 절대적으로 올바른
을 정의 하죠.
그리고 두 가지 옵션이 있습니다 :
struct MyStruct {...}; struct MyStruct myVar;
) 변수를 정의 struct
키워드를 사용하여 단지 유형 이름 (MyStruct myVar;
)와 변수를 정의는;내 투표가 아니었지만 쉽게 될 수있었습니다. 제 말은 여러분이 '절대적으로 올바른'의미하는 바에 달려 있습니다. 그러나 스택 처리 코드가 스택의 크기를 알 수있는 방법은 명확하지 않습니다. 스택의 오버플로 또는 언더 플로우가 발생하지 않도록하는 것이 중요합니다. 구문 적으로 질문의 코드는 컴파일되지만 실제로는 안전하게 사용할 수는 없습니다. –
나에게 잘 보입니다 ('sp'의 누락 된 세미콜론 제외). 왜 묻는거야? – paddy
'StackType'은 어떻게해야하나요? 그것을 올바르게하는 것에 관해서는, 더 많은 설명적인 이름과 코멘트가 개선 될 것입니다. – Potatoswatter
스택 오버플로에 오신 것을 환영합니다. 아이디어의 한 세트를 보려면 [Stack abstract data type in C] (http://stackoverflow.com/questions/9212510/stack-abstract-data-type-in-c)를보십시오. 그 스택에 대한 배열 구현보다는 링크 된 목록을 사용합니다. 표시되는 코드에서 디자인을 결정할 수있는 정도면 배열 기반 스택을 사용하려는 것처럼 보입니다. 그러나 구조체에 스택의 크기를 기록 할 방법이 없으므로 스택에 다른 값을 밀어 넣을 수 있는지 여부를 알 수 없습니다. 구문 적으로, 코드는 컴파일되어야하지만 그것은 '정당성'의 유일한 척도가 아닙니다. –