>> Delete Reply from No. 18734 article
No. RE: [ask]초보 리눅스 프로그래밍 질문!

등록 2001-01-26 00:48:00 By localhost     조회 2
이름 오병현    

		저도 허접한 실력이지만 아는 대로...
 : 리눅스 프로그램 공부를 하고있는 학생입니다.. 공부를 하다가
: 모르는 부분이 넘 많아서리.. 이렇게 글을 올립니다..
:
: #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 at yahoo.com
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved