>> Edit article
이름
제목
패스워드
저도 허접한 실력이지만 아는 대로... : 리눅스 프로그램 공부를 하고있는 학생입니다.. 공부를 하다가 : 모르는 부분이 넘 많아서리.. 이렇게 글을 올립니다.. : : #include <unistd.h> : #include<stdlib.h> : #include<stdio.h> : : #define A_MEGABYTE (1024 * 1024 ) : : int main() : { : : char *some_memory; : int megabyte = A_MEGABYTE; : int exit_code = EXIT_FAILURE; : : some_memory = (char *)malloc(megabyte); : if(some_memory != NULL) : { : sprintf(some_memory,"Hello World"); : printf("%s", some_memory); : exit_code = EXIT_SUCCESS; : } : exit(exit_code); : : } : : : some_memory = (char *)malloc(megabyte); : 이라인을 어떻게 써야하는지 잘 모르겠구여~~!!] : (char *)는 무슨뜻인지.?? : (int *) 이런것두 있던데.. 음냐~ 아마도 malloc() 함수가 void *형으로 반환하는 걸로 알고 있는데... 그래서 다시 캐스팅을 시켜주는 것 같습니다. 만일 int형 변수에 할당시켜줄 일이 있다면, () 안에는 ((필요한 정수 개수) * sizeof(int)) 가 들어가야겠지요... : c 언어 와는 다른 문법이 있어서리.. 이게 강제루 char형으루 변환 : 시켜주는건가여?? 아닌거 같은데~~ : : EXIT_SUCCESS 는 무엇을 뜻하는 것인지..? 성공적으로 실행되었다고 나타내는 것으로 약속된 반환값이겠지요... : malloc를 어느때.. 또 어떻게 쓰는건지두 잘 모르겠구여~~ 유닉스 프로그래밍에서는 메모리를 할당받지 않은 곳을 함부로 사용하면 Segmentation Fault가 발생하니까... 꼭! malloc() 등으로 메모리를 할당받으셔야 합니다. 마지막에 free() 도 잊지 마시구요... : 리눅스프로그램 초보의 질문이니 꼭~ 성실한 답변 기다리겠습니다!! : : 감사합니다.... : : -- : Do your best~-- 오병현 octaphial@yahoo.com
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved