본문으로 바로가기
homeimage

IT

해당되는 글 2277
  • thumbnail
    컴퓨터/프로그래밍

    C언어 memmove 함수 메모리 영역 복사, 자기 영역도 가능

    C memmove() 메모리 영역 복사, 자기 영역도 가능 함수 C언어 메모리 관련 함수 memmove()는 메모리 영역을 복사합니다. 헤더: string.h 형태: void *memmove(void *s1, const void *s2, size_t n) 인수: void *s1 복사될 메모리의 포인터 void *s2 복사할 메모리의 포인터 size_t size 복사할 바이트 갯 수 반환: void * s1 포인터를 반환하며 실패하면 NULL을 반환한다. C언어 메모리 관련 함수 memmove()는 memcpy()처럼 메모리 영역을 복사합니다. 차이 점은 하나의 포인터에 대해서 동일한 영역 내에서 복사가 가능합니다. 예를 들어서 아래와 같이 메모리의 포인터 내용을 복사할 수 있습니다. ptr에 "12345..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 memcpy 함수 메모리 영역 복사

    C memcpy() 메모리 영역 복사 함수 메모리 영역을 복사합니다. 이와 유사한 함수로 memmove()가 있습니다만 이 함수와는 달리 동일 영역, 즉 자기 자신에 대한 복사는 할 수 없습니다. 헤더: string.h 형태: void *memcpy(void *s1, const void *s2, size_t n) 인수: void *s1 복사될 메모리의 포인터 void *s2 복사할 메모리의 포인터 size_t size 복사할 바이트 갯 수 반환: void * s1 포인터를 반환하며 실패하면 NULL을 반환한다. C언어 memcpy() 함수 예제 #include #include #include int main( void) { char *ptr_sour = "badayak.com"; char *ptr_des..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 realloc 함수 동적 메모리 크기 변경

    C realloc() 동적 메모리의 크기를 변경 함수 malloc()이나 calloc()에서 할당받은 메모리의 크기를 변경합니다. 또한 변경하려는 메모리 영역의 값을 유지하면서 크기를 수정합니다. 헤더: stdlib.h 형태: void *realloc(void *ptr, size_t size) 인수: void *ptr 메모리의 크기를 변경할 포인터 size_t size 새로 지정할 메모리의 크기 반환: void * 메모리의 크기가 변경된 메모리의 주소 주의) 새로 변경할 메모리의 크기가 변경하기 어려운 경우에는 아래와 같이 새로 메모리가 할당되므로, 이전 포인터 값을 계속 사용하는 것은 위험합니다. 새로 지정한 메모리 양으로 메모리를 할당받고, 이전 메모리의 내용을 복사한 후, 이전에 할당받은 메모리를 ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 free 함수 할당받은 메모리를 반환

    C free() 할당받은 메모리를 반환 함수 malloc()이나 calloc()에서 할당받은 메모리를 시스템에 반환합니다. 포인터 값이 NULL이면 작업을 취소합니다. 헤더: stdlib.h 형태: void free( void *ptr) 인수: void *ptr 메모리를 해제할 포인터 반환: - 참고로 말씀드리면 free()의 인수는 당연히 메모리를 할당받은 포인터를 넘겨주어야 합니다. 그러나 여기서 free()를 호출한 후에 포인터의 주소 값이 NULL로 초기화 되질 않습니다. 그러므로 이 변수를 다시 free()로 호출하면, *** glibc detected *** double free or corruption (top): 0x08d34008 *** 중지됨 에러가 발생되어 프로그램이 중지됩니다. 이런..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 calloc 함수 요소 크기 지정 동적 메모리 할당

    C calloc() 요소 크기 지정 동적 메모리 할당 함수 malloc() 함수처럼 메모리를 동적으로 할당받습니다. malloc() 함수가 바이트 단위로 메모리를 요청한다면 특정 크기에 대한 개수만큼을 메모리로 요청할 수 있습니다. 예제를 참고하세요. 헤더: stdlib.h 형태: void *calloc(size_t nelem, size_t elsize) 인수: size_t nelem 필요한 요소의 개수 size_t elsize 요소의 크기 반환: void * 할당된 메모리 포인터, 메모리 할당에 실패하면 NULL 반환 C언어 calloc() 함수 예제 #include #include int main( void) { int *ptr_int1; int *ptr_int2; int ndx; ptr_int1 =..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 malloc 함수 동적 메모리 할당

    C malloc() 동적 메모리 할당 함수 메모리를 동적으로 할당받습니다. 정적 메모리와 달리 동적 할당 메모리는 필요할 때 메모리를 생성하고 필요 없어지면 시스템에 반환할 수 있습니다. 메모리 또한 시스템의 리소스이므로 필요할 때 적절히 사용하는 것이 중요합니다. 반환 값이 void 타입인 이유는 바이트 한 개 크기의 char에서 int, long, 또는 구초체와 같은 다양한 크기와 형태의 변수 메모리를 할당 받은 포인터로 받을 수 있음을 의미합니다. 예로 변수를 char *ptr; 로 했다면, ptr = ( char *) malloc( 50); 로 작성하고, 메모리의 포인터를 받을 변수를 int *ptr;로 선언하고, int 값을 50개 정도 저장할 수 있는 메모리를 구한다면, ptr = ( int ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 strtof 함수 실수 문자열을 float형 실수로 변환

    C strtof() 실수 문자열을 float형 실수로 변환 함수 C언어 숫자 변환 함수 strtof() 함수는 실수 문자열을 float형 실수 숫자로 변환합니다. atof()와는 달리숫자 문자가 아닌 문자를 만나면 그 포인터 위치를 구해 줍니다. 예로, "2020.03.12.badayak.com"을 호출하게 되면, char *str; char *ptr; double value; str = "2020.03.12.badayak.com"; value = strtof( str, &ptr); value에는 2020.03이 들어 가고 ptr에는 숫자로 변화하지 못하는 문자열의 시작 위치를 구해 줍니다. 만약 NULL을 넘겨주면 시작 위치를 구하지 않습니다. 헤더: stdlib.h 형태: float strtof(co..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 strtod 함수 실수 문자열을 double형 실수로 변환

    C strtod() 실수 문자열을 double형 실수로 변환함수 실수 문자열을 double형 실수 숫자로 변환합니다. 헤더: stdlib.h 형태: double strtod(const char *str, char **endptr) 인수: char *str 실수로 변환할 문자열 char **endptr 숫자로 변경하지 못하는 문자열의 시작 위치 int base 문자열이 가지고 있는 숫자의 진수 반환: double double 형 실수 값 atof()와는 달리숫자 문자가 아닌 문자를 만나면 그 포인터 위치를 구해 줍니다. 예로 "2020.03.12.badayak.com" 문자열에서 실수를 구한다면, char *str; char *ptr; double value; str = "2020.03.12.badayak..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 strtoul 함수 정수 문자열을 진수 선택하여 unsigned long형 정수로 변환

    C strtoul() 정수 문자열을 진수 선택하여 unsigned long형 정수로 변환 함수 C언어 숫자 변환 함수 strtoul()은 숫자 문자열을 unsigned long형 숫자로 변환합니다. 헤더: stdlib.h 형태: unsigned long int strtoul(const char *restrict str, char **endptr, int base) 인수: char *str 정수로 변환할 문자열 char **endptr 숫자로 변경하지 못하는 문자열의 시작 위치 int base 문자열이 가지고 있는 숫자의 진수 반환: unsigned long int 10진 long형 정수 값 strtoul()은 atoi()나 atol()과는 달리 (1) 변환하려는 진수를 선택할 수 있으며, (2) 숫자 문..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 strtol 함수 정수 문자열을 진수 선택하여 정수로 변환

    C strtol() 정수 문자열을 진수 선택하여 정수로 변환 함수 C언어 숫자 변환 함수 atrtol() 함수는 숫자 문자열을 long형 숫자로 변환합니다. 헤더: stdlib.h 형태: long strtol(const char *restrict str, char **endptr, int base) 인수: char *str 정수로 변환할 문자열 char **endptr 숫자로 변경하지 못하는 문자열의 시작 위치 int base 문자열이 가지고 있는 숫자의 진수 (2~32) 반환: long 10진 long형 정수 값 atoi()나 atol()과는 달리 (1) 변환하려는 진수를 선택할 수 있으며, (2) 숫자 문자가 아닌 문자를 만나면 그 포인터 위치를 구해 줍니다. 예로, "2020badayak.com"을..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 atof 함수 10진 실수 문자열을 double형 변환

    C atof() 함수 10진 실수 문자열을 double형 실수로 변환 C언어 숫자 변환 함수 atof()는 10진 실수 문자열을 실수로 변환합니다. 헤더: stdlib.h 형태: double atof(const char *str) 인수: char *str 실수로 변환할 10진 실수 문자열 반환: double 10진 double형 실수 값 atof() 함수는 아래와 같이 문자열을 숫자로 변환합니다. 문자열에서 10진 실수 문자 뒤의 일반 문자는 취소되며, 10진 실수 숫자 문자까지만 숫자로 변환됩니다. 10진 실수 숫자 문자 앞의 공백문자는 자동 제거되어 10진 실수 숫자 문자까지만 숫자로 변환됩니다. 공백 및 10진 실수 문자가 아닌 문자로 시작하면 0을 반환합니다. C언어 atof() 함수 예제 #in..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 atol 함수 10진수 문자열을 long형 정수로 변환

    C atol() 10진 정수 문자열을 long형 정수로 변환 함수 C언어 숫자 변환 함수 atol()은 10진 정수 문자열을 long 형 정수로 변환합니다. 헤더: stdlib.h 형태: long atol(const char *str) 인수: char *str 정수로 변환할 10진수 정수 문자열 반환: long 10진 long형 정수 값 atol() 함수는 아래와 같은 특징이 있습니다. 문자열에서 10진 정수 숫자 문자 뒤의 일반 문자는 취소되며, 10진 정수 숫자 문자까지만 숫자로 변환됩니다. 10진 정수 숫자 문자 앞의 공백 문자는 자동 제거되어 10진 정수 숫자 문자까지만 숫자로 변환됩니다. 공백 및 10진 정수 문자가 아닌 문자로 시작하면 0을 반환합니다. C언어 atol() 함수 예제 #incl..
    최근글
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.