malloc 관련해서 또 질문 올려봅니다.
별빛
질문 제목 : malloc 관련 코딩에 대한 설명
코딩을 보면서 이해가 되지 않는 부분이 있는데 보조적인 설명 부탁드립니다.질문 내용 :
안녕하세요
윤성우의 c 프로그래밍을 보면은 페이지 591~592(해답지 부분)에
이렇게 코딩이 되어있는데 코딩을 보면서 이해가 안되는 부분이 있기에
빨간색으로 이해하기 어려운 부분을 체크하고
그 부분에 대한 설명 부탁드립니다.
- 아래 extendsize 함수부분 집중으로 설명 부탁드립니다...
#includestdio.h
#includestdlib.h
#pragma warning(disable:4996)
void extendsize(int** parr, int* psz);
int main()
{
int arrsize=5;// 초기 배열 크기
int index=0;// 배열 인덱스
int i;
int *arr=(int*)malloc(sizeof(int)*arrsize);
while(1)
{
printf(number ? : );
scanf(%d,&arr[index]);if(arr[index] == -1)// 입력의 종료 검사
{
break;
}
if(arrsize == index+1)// 배열 확장 검사
{
extendsize(&arr,&arrsize);
}
index++;
}
for(i=0;iindex;i++)
{
printf(%d, , arr[i]);
}
free(arr);
return 0;
}
void extendsize(int** parr, int* psz)
- int** parr 더블포인터를 써준 이유를 모르겠습니다.
더블포인터를 왜 썼을까요?
{
int exsize=*psz+3;
int* temp =(int*)malloc(sizeof(int)*exsize);// 새로운 배열 생성
int i;
for(i=0;i*psz;i++)// 새로운 배열에 복사
{
temp[i]=(*parr)[i];
- 위에서는 더블포인터 썼는데 여기서는 싱글포인터를 썼네요.
그렇다는 것은 즉 parr는 처음부터 누구를 가르켰기에 더블포인터에서는 어떤 변수의 싱글포인터를
가르키고 있었던 것인가요? 이해가 안가요..
}
free(*parr);// 이전 배열 삭제
*parr=temp;
*psz+=3;
}
빨간줄로 해놓은 부분 설명 부탁드립니다..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |