int *p; 하고 p = (int*)malloc(40); 으로 동적메모리할당했습니다
그리고 메모리에 데이터를 입력할 차례인데
for(i=0; i<10; i++){
printf("Next number: ");
scanf("%d", p+i);
}
여기서!! scanf에서 왜 p+i 인가요?? p+i하면 주소값으로 입력하게 되는거 아닌가요?? 데이터를 입력하려면 *(p+i)가 되야하는게 아닌가요??
그리고 왜 &(p+i) 도 아닌지 궁금합니다..
int *p; 하고 p = (int*)malloc(40); 으로 동적메모리할당했습니다
그리고 메모리에 데이터를 입력할 차례인데
for(i=0; i<10; i++){
printf("Next number: ");
scanf("%d", p+i);
}
여기서!! scanf에서 왜 p+i 인가요?? p+i하면 주소값으로 입력하게 되는거 아닌가요?? 데이터를 입력하려면 *(p+i)가 되야하는게 아닌가요??
그리고 왜 &(p+i) 도 아닌지 궁금합니다..
https://www.programiz.com/c-programming/c-dynamic-memory-allocation
malloc 부터 다시 공부하셔야할듯
sizeof(int) * 10 하지 40으로 쓰는 사람은 100면 100 없음
*p는 주소값을 받기 위해서 존재함
아 귀찮다 수고
40은 걍 간단하게 글에서 표시하려고 썻어요..
scanf 쓰는법부터 다시공부
프린이 커엽