-"malloc??

V

vimal2010

Guest
무슨 malloc 무엇입니까? 왜 우리가 그들을 어떻게 사용합니까? C 프로그래밍에 자신의 중요성이 뭐죠?

 
<a href="http://www.komputerswiat.pl/nowosci/wydarzenia/2011/02/szef-programistow-ubuntu-opuszcza-canonical.aspx"> <img align="left" src="http://www.komputerswiat.pl/media/2010/230/1347601/ubuntu.jpg" /></a> Scott James Remnant poinformował na własnym blogu, że przenosi się do Google'a.<img width='1' height='1' src='http://rss.feedsportal.com/c/32559/f/491281/s/11a0963b/mf.gif' border='0'/><br/><br/><a href="http://da.feedsportal.com/r/92567186185/u/0/f/491281/c/32559/s/11a0963b/a2.htm"><img src="http://da.feedsportal.com/r/92567186185/u/0/f/491281/c/32559/s/11a0963b/a2.img" border="0"/></a>

Read more...
 
malloc (메모리 할당)를 실행 시간에 동적으로 메모리를 할당하는 데 사용됩니다.이 함수의 가능한 사용됩니다 :
알 수없는 길이 읽고 기록합니다.
데이터베이스의 레코드를 알 수없는 번호를 읽어보십시오.

예비 메모리를 가장 간단한 방법은 같은 코드입니다 :

메인 무효 ()
(
숯불 문자열 [1000];

strcpy (문자열, "일부 텍스트");
)

위의 예에서 두 가지 문제가있다 :

만약 우리가 데이터를 메모리를 낭비하고있는 이하 1000 개 이상의 바이트입니다.
만약 데이터가 큰 1000 개 이상의 바이트 프로그램과 충돌을하려고합니다.
1000 바이트의 프로그램의 인생을 생각 소유합니다.만약이 오래 실행중인 프로그램은 거의 메모리를 사용했다, 다시는 낭비된다.
malloc 우리가 정확히 기억의 정확한 금액과 그것을 필요한 시간에 대해서만 무료 사용 할당할 수있습니다.-------------------------------------------------- ------------------------------

도서관 : stdlib.h

프로토 타입 : 무효 * malloc (size_t의 크기);

구문 : * 숯불 문자열;

문자열 = (숯불 *) malloc (1000);-------------------------------------------------- ------------------------------

예를 들어 위의 구문을 보면, 1000 바이트의 첫 번째 바이트 포인터를 문자열 포인트를 보유합니다.1000 바이트가되지 않을 malloc에 의해 초기화됩니다.만약 메모리가 사용 가능한 경우 NULL 포인터가 반환됩니다.참고로, 주연 배우 올바른 타입의 포인터를 반환해야합니다.

leomecma

 
http://www.cs.cf.ac.uk/Dave/C/node11.html # SECTION001110000000000000000

 
무효의 main () 오류입니다.int를 사용하여 메인 (무효).

당신은 또한, realloc와 할당된 공간의 크기를 변경할 수있습니다 ().

프로그램과 충돌 (알 수 없음) 길이의 문자열을 사용 strncpy strcpy로 인해 피하려면 ().

(숯불 *) 캐스트, 그리고 필요하지 않습니다 일반적으로 권장하지 않습니다.

 
Echo47 내가 strcpy의 사용 () 또는 ()이 아닙니다 질문에, malloc를 사용하여 단지 생각이 중요하다 strncpy 같아요.에 대하여 무효의 main ()) 메인 (무효 무효 컴파일러에 따라 다릅니다 (일부) 및 int 주 (무효) 무효로없이 경고를주지는 일반적으로 C는 데 사용됩니다 및 몇 가지 컴파일러가 자동으로 int 도입을 main (int argc, 숯불 * argv에 존재한다 [] ) 프로젝트.그게 문제가 너무 아니라고 생각합니다.캐스팅에 대해 나는 그것을 예를 들어 책을 제거 ...하지만 나는 desnecessary지만, 내가 사용의 문제를보고하지 않기로 합의, 난 작가 깨끗하게 .... 위해 사용하는 것 같아요

당신이 내게 설명해 줄 수가 왜 무효의 main () 캐스팅 안전하지 않을 수 있습니까?

leomecma

 
""() 오류입니다 메인 무효 ".int를 사용하여 메인 (무효).

난 거기에 큰 생각은 diff 두 문장 btw 그리고 난 컴파일러에 따라 다릅니다 ..
적 (), 그것은 거기에 따라서 인수 및 메인 (무효)하는 이해 작성된 것입니다 주요 필요는 ...
무효의 main () 주요 int (무효), 경우 여기를 잠시 사용하는
우리는 "반환 0 성명을 언급,"프로그램 종료가 필요 ..
.. someother 정수를 반환하는 다른 기회가있을 수있습니다너무도 사용하는 것이 좋습니다
모든 경우의 main ()의 무효
안부

 
표준 ANSI C로 기본에 대해서만 설명하는 두 가지 형태 :int main(void) { /* ...

* /)
는 main (int argc, 숯불 * 변수는 argv []) (/ * int ...* /)

여기 무슨 comp.lang.c FAQ를했습니다에 대한 기본 무효 () :
http://www.eskimo.com/ ~ scs/C-faq/q11.12.html
http://www.eskimo.com/ ~ scs/C-faq/q11.14.html
http://www.eskimo.com/ ~ scs/C-faq/q11.15.html

죄송합니다, 난 그게 다야 malloc의 반환 값을 캐스팅하는 게 나쁜 건 아니어요.그것은 정확하지만 중복 :
http://www.eskimo.com/ ~ scs/C-faq/q7.7.html
왜냐하면, 그냥 난장판이 추가 대부분의 프로그래머는 더 이상 사용하지 마십시오.

 

Welcome to EDABoard.com

Sponsor

Back
Top