malloc 함수 질문입니다
찬솔
질문 제목 : malloc 함수 질문입니다질문 내용 :
#include iostream
using namespace std;
void function(int i);
int main()
{
int m=0;
cout 입력 : ;
cin m;
function(m);
return 0;
}
void function(int i)
{
int* arra = (int*) malloc(sizeof(int)*i);
int j;
if(arra == null)
{
cout 메모리 할당 endl;
exit(1);
}cout arra , *arra , &arra endl;for(j=0;ji;j++)
arra[j]=j+1;
for(j=0;ji;j++)
cout arra[j];
cout endl;;
free(arra);
}
-----------------------------------------------
int* arra = (int*) malloc(sizeof(int)*i);
(sizeof(int)*i)의 바이트 수 만큼 (int*)으로 타입캐스팅 해서 int* arra 에 대입 해라
이게 제대로 이해 한게 맞는가요?
이 코드에서는 m에 입력 받은 수만큼 배열의 길이를 동적으로 할당 받는 코드 같은데
만약에 7이라는 수를 입력하면 arra의 값은 arr = malloc(4*7)해서 28이되는건가요?
이해가 잘 안되서
소스 중간에
cout arra , *arra , &arra endl;
이렇게 arra 값을 출력 해봤는데
00291730, -842150451, 0012f6f0
이런결과가 출력 됩니다
첫번쨰와 3번째 결과는 매번 다르게 결과가 출력되는데
가운데 있는 수치는 고정이더군요. (똑같이 7을 입력했을떄)
int* arra = (int*) malloc(sizeof(int)*i);
이 부분이 가장 이해가 안되는것 같습니다.
책에는 메모리의 첫번째 주소를 리턴 한다고 하는데 그렇다면 값을 출력할때arra의 값만 따로 출력했을때는 28이 나와야
하지 않습니까?
sizeof(int) = 4 , i=7 이니까 둘을 곱하면 28 이자나요.
그런데 값을 출력하면 -842150451 이걸로 나오니 제가 무엇인가를 잘못 이해 하고 있는것 같습니다.
도와주세요
-
ComeOn 2023-12-27
-843...그 값은 쓰레기값입니다. 동적할당하고 *arr가 가르키는 값이 없잖아요.
그냥 arr라고 출력하시면 됩니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2655440 | test파일이 안 되요. (2) | 리라 | 2024-05-19 |
2655416 | 고수님들 도움이 절실합니다. (2) | 세리 | 2024-05-19 |
2655361 | 엔터 입력받을때까지 기다리는 getchar (1) | 큰모음 | 2024-05-19 |
2655328 | 함수에서 포인터 (3) | 모아 | 2024-05-18 |
2655299 | 아이콘바꾸는법..? | 소 | 2024-05-18 |
2655271 | scanf 입력받으면 쭉 실행되는.. (5) | ComeOn | 2024-05-18 |
2655184 | 이 세개 프로그램좀 해결해주실.... 고수님들???? (3) | 말달리자 | 2024-05-17 |
2655129 | 다차원 배열 원소들 주소계산하는거 질문이요~ | 터전 | 2024-05-17 |
2655103 | AVRstudio MoveAxis. MoveLine 함수질문 | 앨버트 | 2024-05-16 |
2655072 | 콘솔창의 위치와 크기를 정하고 싶습니다. | 딥레드 | 2024-05-16 |
2655044 | 자료구조랑 online judge site에 대해서 질문있습니다... (1) | 뽀송뽀송 | 2024-05-16 |
2655016 | 별찍기 문제 중 이해안되는 부분이 있어요... | 도전중 | 2024-05-16 |
2654986 | 입력받은 성적을 배열에 저장하기 (3) | 안녕나야 | 2024-05-15 |
2654959 | ===========-이런거 미리 지정하는법 (1) | 김자영 | 2024-05-15 |
2654930 | 도와주십시요 ㅜㅜ 자료구조 ㅜㅜ | 도널드 | 2024-05-15 |
2654881 | PID 모듈 검색 부분 질문합니다 . | 이름없음 | 2024-05-14 |
2654850 | 조건에 만족하는 다음 수를 찾고 싶습니다. | 초엘 | 2024-05-14 |
2654790 | 두파일간 byte단위 txt파일 복사 中 | 슬찬 | 2024-05-14 |
2654768 | 사전만들기 입니다. | 여우By | 2024-05-13 |
2654716 | c언어 고수님들 답좀적어주세요 급합니다 ㅠㅠ | 한말글 | 2024-05-13 |