메모리 동적 할당 질문
해나
2023.04.01
#include stdio.h
#include stdlib.h
#include memory.hvoid imsi(int **temp);int main(int argc, char *argv[])
{
int *temp = NULL; imsi(&temp); return 0;
}void imsi(int **temp)
{
*temp = (int *)malloc(sizeof(int) * 5);
}이 코드가... 될 것 같은데 안되더라구요... 이 부분이 문제 없는줄 알고 입력이 잘못되나...메모리 참조가 잘못되나... 한 8시간 삽질하다 저 부분이 문제가 있다는걸 알았네요 ㅠㅠ결국 외부변수로 선언해서 해결하긴 했는데... 위 코드가 안되는 이유를 모르겠네요매개변수로 포인터변수의 주소 값을 넘겨주는데...함수에서 포인터변수의 주소 값이 가리키는 곳이니까 NULL이 저장되어 있는 곳에...malloc... 그러니까할당된 메모리의 시작 주소값을 넣는건데... 이게 참조라서 제대로 할당이 될줄 알았는데...하나의 크기만큼만 되고 안되더라구요... 왜 안되는지 도무지 이유를 모르겠습니다.포인터 변수의 주소값을 넘겨주고 그 포인터 변수의 주소값이 가리키는 곳(주소값을 저장할 곳)에 할당된메모리의 시작 주소값을 넣어주는건데... 그림 그려보고 다 해봤는데... 전 맞는것 같은데 ㅡ.ㅡ;;설명좀 부탁드립니다 ㅠㅠ
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |
2695010 | C++의 STL은 왜 굳이 템플릿화 시켜서 라이브러리를 만드나요? (초보수준의 질문..) (2) | 엘보어 | 2025-05-16 |
2694958 | 로직이 변한다는 것에 대해서 궁금합니다. | 튼동 | 2025-05-16 |
2694929 | 열혈강의 25-2 두번째 문제 질문 | 지우개 | 2025-05-15 |
2694900 | dequeue 에서 리턴값 프린트 방법알려주세요 오늘 12시까지 대화방에 있습니다 도와주세요 | 미투리 | 2025-05-15 |
2694854 | 절대값을 구할때 (2) | 그녀는귀여웠다 | 2025-05-15 |
2694827 | 이제 어떻게 공부해야할지 모르겠네요 | 새얀 | 2025-05-14 |
2694778 | 순열 계산요. | 맛조이 | 2025-05-14 |
2694754 | ShowWindow 함수를 이용하려 하는데 질문있습니다. (2) | 파도 | 2025-05-14 |
2694731 | 리눅스 커널의 시작점 질문 | 미르 | 2025-05-13 |
2694702 | 이거 뭐가문제인가요 코드수정좀 (3) | 맑은 | 2025-05-13 |
2694675 | C언어 후위표기를 중위표기로 | 앨런 | 2025-05-13 |
2694646 | 안녕하세요 파일 합치기 함수! (1) | 연블루 | 2025-05-13 |
2694618 | 잘몰라서 설명부탁드립니다. scanf 관련 (3) | 파라 | 2025-05-12 |
2694590 | 이 코드가 뭐하는 코드일까요? #2 | 빵순 | 2025-05-12 |
2694559 | 동적할당으로 배열(2차원열)을 만드는데 있어 그걸 함수화시키는데... (1) | 늘솔길 | 2025-05-12 |