이상해요!!
다온
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 등을 사용하여 직접 메모리를 할당하였을때
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |
2689740 | 게임 TCP소켓 질문 (2) | 불꾼 | 2025-03-29 |
2689711 | 반복문 모래시계 | 한뎃집 | 2025-03-29 |
2689685 | 경우의 수에 따른 결과 처리 질문드립니다. (2) | 다흰 | 2025-03-29 |
2689655 | .exe에 아이콘 넣는 법좀 알려주세요 | 연하얀 | 2025-03-28 |
2689631 | #define 전처리문에 대해서 (2) | 사랑은아픔 | 2025-03-28 |