이상해요!!
다온
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 등을 사용하여 직접 메모리를 할당하였을때
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |
2693704 | 구조체 주소록 문제인데 도와주세요 (2) | 도1도캣 | 2025-05-04 |
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |
2693328 | C언어를이용해서 .txt파일 외에 다른 확장자 파일 삭제가 가능한지.. (2) | 대나무 | 2025-05-01 |