아 미치겠네요. 쫌있다 출근해야되는데 잠이 안와요 ㅜㅠ <div><br></div> <div>심심해서 끄적거려봅니다.</div> <div>이불속에서 아이패드로 하는거라 오타는 알아서 걸러주세요.</div> <div><br></div> <div>int* a ; // a는 정수형 포인터입니다.</div> <div>int a[10]. // a는 배열입니다.</div> <div><br></div> <div>int* a[10] // a는 배열입니다. 이 배열엔 10개의 정수형 포인터가 저장됩니다.</div> <div>a는 포인터이기 전에 배열입니다.</div> <div>위치상 포인터가 먼저 나왔는데도요.</div> <div>그 이유는 []연산자가 포인터 * 연산자보다 우선순위가 높기 때문입니다.</div> <div>포인터의 배열, 포인터 배열이라 말합니다.</div> <div><br></div> <div>int (*a)[10] ;</div> <div>a는 포인터입니다. 괄호때문에 포인터 * 연산이 우선순위를 잡게 되어 배열이 아니라 포인터가 됩니다.</div> <div>무엇을 가리키는 포인터일까요?</div> <div>나머지 부분, int [10].... 정수형이며 갯수가 10인 배열을 가르키는 포인터입니다.</div> <div><br></div> <div>int test[10] ;</div> <div>int (*a)[10] ;</div> <div>a = &test ;</div> <div>요로케 가리키면 됩니다.</div> <div>배열의 포인터, 배열 포인터라 합니다.</div> <div><br></div> <div>연산자 우선순위는 수학의 그것과 일치하여 힐끗 보고 넘기는 경우가 많은데</div> <div>자칫 실수를 범할 수 있습니다.</div> <div><br></div> <div>참고로 위 포인터 배열과 배열포인터를 sizeof(*a) 로 찍어보시면 이에껀 4, 밑에껀 4*10=40 이 나올껍니다.</div> <div><br></div> <div>배열포인터에 그냥 정수형 포인터를 넣으면 c++ 은 에러를 뱉어내지만 c는 그냥 warning 만 주절거립니다.</div> <div><br></div> <div>마음속에 새기고 새깁시다. Warning은 에러입니다.</div> <div><br></div> <div>하, 잠 안온다. ㅜ.ㅠ</div> <div><br></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.