배열이름도 포인터라고 배웠어
배열이름은 배열의 첫번째 요소를 가르키는 포인터라는 걸 배웠단말랭
근데 다른 유형의 포인터들(int* char* double*)은 32비트 운영체제에서 주소를 저장하기위해 4바이트를 받는데
왜 배열이름은 포인터이면서도 4바이트가 아닌 배열크기에따라 달라지는지???
배열이름도 포인터니깐 배열첫번쨰 요소의 주소를 받는거아냐??? 고럼 그 주소값을 담기위해 4바이트가 필요하지않아??
궁금해~~~살려줘~~
뉴비는 늅늅늅늅늅늅늅늅늅
살아있는 전설 살아있는 떡밥
잘키운 떡밥하나 열 개념글 안부럽다.
한줄요약 : 뭐
왜 배열이름은 4바이트가 아냐????
가비뉴비(125.131)
2008-08-20 17:33
추천 0
댓글 17
다른 게시글
-
씬입사원 횽아 왠지.... [11]미친소울러(ilrilr) | 08.08.20추천 0
-
this is still not available in mainframe [2]용자님헬프..(211.109) | 08.08.20추천 0
-
디씨 수많은 갤중에서.... [9]뿌찢뿌찢뿌..(sonsy) | 08.08.20추천 0
-
세미콜론의 저주 [10]Scripter(scripter) | 08.08.20추천 0
-
프겔 접속이 한동안 안됐다. 나만 접속차단이였던가... [4]씬입사원(caster13) | 08.08.20추천 0
-
오라클하고 DB2 잘하시는 용자님 계신가요? [6]용자님헬프..(211.109) | 08.08.20추천 0
-
정보보안이 프로그래밍.. [2]ITQ엑셀(125.251) | 08.08.20추천 0
-
횽들네 회사는 직급들이 어케되? [7]IllIl(puremotion) | 08.08.20추천 0
-
이제 조금만 있으면 개강에 힘입어 숙제갤이 되겠네여 [1]ㅋㅋ(211.117) | 08.08.20추천 0
-
프로그래밍을 요리에 비유한다면 [7]ㅂㅎㅅ(211.175) | 08.08.20추천 0
뭐야-ㅁ-글 안올려진줄알았는데 밑에 올라와있어서 클릭해봤는데 삭제됬데 뭥미 이건;;;
배열의 넘버링만큼의 주소를 다 담고 있어야하는거 아닐까?
난 댓글 달았더니 삭제됐다는 메시지가... ㅜ.ㅡ
근가..배열의 모든영역을 인식하기위해 추가적인 메모리가 필요하다는거얌??
그럼 &배열명 을 해보던가 새퀴야
음..밑에 달았었는데, 일단 sizeof연산자에 배열 이름 때려 넣으면 배열 전체의 크기가 반환되지, 배열이름에 대한 크기가 나오지는 않음. 그리고 배열이름이 포인터긴 한데 흔히 사용하는 포인터는 \'변수\'인거고..포인터는 상수에 가깝고..
위에 수정 배열 이름은 포인터상수에 가깝고..라는 말임
배열 크기만큼 메모리를 할당받으니까, 할당받은 메모리의 크기를 갖는거임
아하-ㅁ-그렇구나~~~우훗~형 그냥sizeof에 배열이름때려넣어서 그런거구 실제적인 배열이름은 다른 포인터와마찬가지로 4바이트양?
int a[10]; a[1] == *(a+1)
http://book.naver.com/bookdb/book_detail.php?bid=125359
이 책 빌려다 봐
음, 글쎄..일반적인 포인터변수와 출력결과가 별 다를바 없는거 보면, 메모리 상에서는 4바이트짜리 상수같은데, 나도 늅이라 뭐라 확정짓지는 못하겠음;; 고수가 한 마디 해줘야-_-;
결쿡은 닥공.. ㅇㅇㅃ형이 추천한거 읽어봐야지~~
배열은 배열이지 포인터가 아니다. 포인터랑 호환되는것 뿐이지...
배열은 아무것도 없다. 변수도 아니다. 그냥 메모리만 할당받을 뿐이다.
우리가 주고받는것은 그배열이 시작하는 주소일뿐
배열 이름은 포인터가 아니라 심볼이다. 컴파일 타임때 주소계산때만 사용하지 메모리를 차지하지는 않는다. 그래서 &배열이름은 syntax 에러다.