이상해요!!
다온
2024.11.27
갑자기 생각이낫는데요
int a;
이렇게 하면 메모리에 4바이트가 할당 되자나요//
그래서 a를 호출하면 이 4바이트가 호출되자나요.
근데 그럼 이 a 라는 변수 이름은 어디에 저장이 되어있나요//
같은 맥락에서
int a[5];
이렇게 선언을 하면,
배열의 이름은 포인터라고 배웠는데
포인터 a는 a[0]을 가르키고잇는 상수 포인터 자나요
그렇게도면 결국 a란 것은 int * a 랑 똑같은거자나요
그럼 여기서 사용되는 4바이트는 어딨는거죠?
-
예린 2024-11-27
프로그램에서 변수\이름\은 따로 보관되지 않습니다.
함수가 호출되면 로컬변수들을 스택에 만드는데 이때 만든 변수의 주소를 변수명 대신으로 씁니다.
컴파일러는 변수의 타입에 따라서 적절하게 메모리를 접근하도록 프로그램을 만듭니다.
char타입이면 1바이트만, short타입이면 2바이트만, 이런 식으로 말이죠. -
사랑 2024-11-27
C에서 변수, 배열 등등.. 이 저장되는 곳은 \스택\ 이라는 메모리 공간 입니다.
나중에 malloc를 배우시게 되면 아시게 되겟지만, 메모리가 저장되는 곳(?)은 크게 2가지가 있습니다.
하나는 \스택(stack)\이라는 공간이고, 다른 하나는 \힙(heap)\이라는 공간 입니다.
스택은 위에서 말씀 드렸듯이 변수, 배열, 사용자 정의함수 등등.. 이 저장되는 공간이구요
힙은 사용자가 malloc, new 등을 사용하여 직접 메모리를 할당하였을때
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676443 | 이상해요!! (2) | 다온 | 2024-11-27 |
2676415 | scanf 함수 | Creator | 2024-11-26 |
2676357 | 질문있어요..ㅜㅜ (1) | 일진누나 | 2024-11-26 |
2676326 | exit문으로 프로그램 종료가 되지 않습니다. (4) | 달달한캔디 | 2024-11-26 |
2676298 | 코드 해석좀 부탁 드려요 | 남 | 2024-11-25 |
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |