일단 포인터를 배우면 가장 처음 배우는게
int *A;
같은 포인터변수의 선언을 배우잖아?
그러다가
int **A;
이중포인터의 선언도 배우고
int *A[4]
포인터배열의 선언,
int (*A)[4]
배열포인터까지.
저 일련의 선언규칙들을 단순히 외우기만 했었는데
어느날 생각해보니까 이런 생각이 들더라고
int *A 는 expression 에서의 *A 가 int 형이 되도록 A의 타입을 정함
int ** 는 expression 에서의 **A 가 int 형이 되도록 A의 타입을 정함
int *A[4] 는 expression 에서의 *A[4] 가 int 형이 되도록 A의 타입을 정함
int (*A)[4] 는 expression 에서의 (*A)[4] 가 int 형이 되도록 A의 타입을 정함
바로 위의 경우와 다른 점은 위에껀 *A[i] ≡ *(A[i]) 의 방식으로 연산하지만(operator precedence)
이 경우는 (*A)[i] 의 방식으로 연산하는 것이 정상적인 방식.
스펙문서는 안 읽어봤어. 이거 맞는 추론이야?
알려줘요?
그냥 결과를 보고 짜맞춘 추론같은데, int *A 는 그냥 int 포인터를 저장하는 변수일 뿐임 포인터 변수니까 포인터 연산이 가능한건 당연한거고 그걸보고 포인터 연산이 가능하도록 타입을 정함 이라고 말하는건 좀 이상한거같다
ㄴ 1년전에 내가 이론 정립해드렸는데 그새 또 다 까먹으셨나보네.. 내가 설명하는게 별로 명쾌하지 않았나? 단순한데 말이야
ㄴ그래서 저 추론이 정확하다는거?
ㄴ 으이구 내 설명 들었던 분 맞음?
ㄴ설명 어쩌고 하지말고, 위에 글에대한 얘기를 해보라구 검색해보니까 순 어그로 글만쌌더만
ㄴ 1년전 ㅇㅇ씨가 맞나? 동명이인인가? 그때 내 설명에 토단 사람중 한명이 지금 이 글이 맞냐 틀리냐 질문하는거 보니.. 까먹었거나 다른 사람ㄹ이거나... 어찌되었건 이건 틀린 글입니다. 그리고 정리이론은 이 세상 그 누구도 간결하게 설명하지 못했어요. 인터넷을 뒤지건 미국 최고 유명 대학 교수가 쓴 책이건 그냥 포인터라고만 되있습니다. 그들도 잘 정리하진 못했다는 반증이겠죠. 어찌되었건 그 당시 프갤 총통과 저와의 싸움으로 저의 승리로 끝난거 같았습니다만..
ㄴㅇㅇ은 디씨에서 아무나 쓰는 유동닉이구, 나도 위에 글이 틀린것 같다고 리플달은건데 니가 반대하는듯한 뉘앙쓰를 풍겨서 물어본거다.
ㄴ포인터는 그냥 포인터라고 하는게 맞는거지 무슨 정리니 이론이 필요하다고 보지는 않는데 사람마다 생각이 다를테니 넘어가도록하지
내칑그둘리능긔여운아긔공녕호이오이둘릐는초눈력내칭구