이 예에 대한 포인터들의 어레이를 초기화 잘 작동 :포인터
static char *daytab[] = {
"hello",
"world"
};
이되지 않습니다
static char *daytab[] = {
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
I 볼때 첫 번째 예는 충전 배열을 생성하는 것이다 두 개의 문자열 리터럴 (자체는 배열)에 대한 포인터가 있습니다. 두 번째 예인 IMO는 동일해야합니다. 배열을 만들고 두 char 배열에 대한 포인터로 채 웁니다.
누군가 두 번째 예제가 잘못된 이유를 설명해 줄 수 있습니까?
P. 아마도 다음과 같이 작성할 수 있습니다 (테스트하지 않았습니다) :
static char a[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static char b[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static char *daytab[] = {
a,
b
};
하지만 너무 많은 작업처럼 보입니다. :)
답변이 4 개 뿐이니까요? 어째서? – Ree
작성자가 삭제했습니다. –
나는 다른 날에 그런 일이 일어났습니다. 그래서 삭제 된 답변을 완전히 설명하는 데 시간이 걸리는 것으로 보입니다. 그것은 "곧"올바른 수를 정착합니다. – RBerteig