malloc 질문합니다.
유진공주
int 형의 변수를인자로 받아오되 4를 곱한만큼메모리를 할당하지 않게 하는방법은?질문 내용 :
malloc으로 메모리 확보란걸 배웟습니다.
그래서 실습으로 함수에담아서 int형인 한 변수에 그 변수 값을 인수로해 함수를 호출 하는식으로하는데요
int형은
(int)malloc(변수)
이런식으로해야하는데 그 변수에있는값에 4바이트를 곱한값의 메모리를 할당하네요...
int형으로 안받고 char형으로받으면 int보다 숫자를 잘 안들을것같고...
그렇다고 int로하면 *4 의 메모리를 할당해버려요...
위 두가지의 단점을 없앨수있는방법은 없을까요?
(더간단하게는 질문요약을참고)
혹시 이해 안되시는분들을 위한 소스 :
void memory(int _memory){
int a;
a=(int)malloc(_memory)
}
void main(){
memory(100);
}
여기서 int 형으로 받앗는데 할당 메모리값은 약 400이었습니다 ... (헤더로인한 추가 메모리가있더군요 그걸 빼고)
단 함수 호출 방식은 같아야합니다.
-
네코
int aNum[100]; // int 형 값을 100개 저장할 수 있는 배열
int *pNum = (int *)malloc(sizeof(int) * 100); // int형 값을 100개 저장할 수 있는 포인터
우선, 포인터에 메모리를 할당하세요.
그리고 int 크기가 4바이트일 때, 100개의 데이터를 가지려면 당연히 4*100개의 메모리가 필요합니다.
정확한 결과를 위해서라면 메모리는 아까워 마세요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692510 | 함수형 중에서.. (6) | 한란 | 2025-04-23 |
2692483 | C언어 함수, Header | 떠나간그놈 | 2025-04-23 |
2692451 | 이 문제좀 풀어주세요 ^^ | 게자리 | 2025-04-23 |
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 |