c에서 구조체 정의할때.
족장
2023.04.01
만약 struct base{
int a;
int b;
};
라고 해두고 메인함수에서
base b[100]={초기값입력};
하면 문제가 생기지 않는데
base b[100]; 해두고서
b[100]={초기값 지정}
이런식은 왜 안되지요;?
b[100].a 나 .b를 쓰지 않고 두가지 멤버를 한꺼번에 정의할수 있는 방법
없나요?
-
누리알찬
아니면 수다님 말씀처럼 초기화하는 함수를 만들어야... 그런데 지금 짜려는 녀석은 어쩔수없이 하나씩 접근해야하겠네요. ㅠㅠ
-
슬아라
그럼 처음에 선언한 이후에 멤버값을 변경시키려면 역시 하나하나 찾아가는수밖에 없는거군요. 음 -_-;
-
츠키
초기화는 선언과 동시에 초기화 하는 것과 선언 후 초기화 하는 방법이 있습니다.
선언과 동시에 초기화는 1937님께서 적어주신 것 처럼 하면 되고 선언 후 초기화는 하나하나 할당하는 수 밖에 없습니다.
차라리 초기화 하는 함수를 만들어서 쓰시는 것이 좋을 듯 합니다.
선언 후 b[100] 이라는 것은 이미 b 배열의 101번째 값을 의미하기 때문에 범위도 벗어나 있죠