프로그래밍 언어/[ C ] 18

[ C ] 02. 문자열 관련 자주 쓰이는 함수

[ atoi, atof, atol ] 1. atoi, atof, atol 함수의 기원 atoi 함수를 살펴보면 a - to - i 이렇게 나눌 수 있다. a=char(AScII), i = int atoi (char to int) = 문자열을 정수 타입으로 atof (char to double) = 문자열을 실수 타입으로 atol (char to long int) = 문자열을 long 정수 타입으로 중요한 것은 여기서 char는 char[N], char*로 표현이 되는 문자열을 말한다. // ( char * to int )가 더 정확한 표현같음? C++에서는 string클래스에 의해서 문자열을 string으로 표현할 수 있는데, C언어에서는 string클래스가 존재하지 않기 때문에 char배열을 이용하여 ..

[ C ] 01. 동적할당이란?

[ 동적할당 ] 동적할당이라는 것은 프로그램 실행중에 동적으로 메모리를 할당하는 것을 말한다. 여기서 중요한것은 동적으로 메모리를 할당할때 Heap(힙)영역에 할당한다는 것이다. # 함수원형 void* malloc(size_t size) 해당함수를 사용하기 위해서는 헤더파일을 include해야한다. 함수 동작은 매개변수에 해당하는 size_t 만큼의 크기만큼 메모리를 할당하고 성공하면 : 할당한 메모리의 첫 번째 주소 리턴 실패하면 : NULL 리턴 제일 중요한점 !! 할당한 메모리는 꼭 해제해주어야한다.!! 그렇지 않으면 메모리 릭, 메모리 누수가 발생한다. 함수 원형 메모리 할당 void *malloc(size_t size); - 할당받을 메모리 크기를 인자로 받는다 - ex) int * arr = ..

[ C ] 00. 함수 호출방식

[ 함수 호출방식 ] Call-by-value 값에 의한 호출 함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성된다.(c++의 경우 stack frame) => 함수가 종료되면 해당 공간은 사라진다. 스택 프레임(Stack Frame) : 함수 호출시 할당되는 메모리 블록(지역변수의 선언으로 인해 할당되는 메모리 블록) call-by-value 값에 의한 호출방식은 함수 호출 시 전달되는 변수의 값을 복사하여 함수의 인자로 전달한다. 복사된 인자는 함수 안에서 지역적으로 사용되는 local value의 특성을 가진다. 따라서 함수 안에서 인자의 값이 변경되어도, 외부의 변수의 값은 변경되지 않는다.!! 장점 : 복사하여 처리하기 때문에 안전하다. 원래의 값이 보존이 된다. 단..