본문 바로가기

프로그래밍/C,C++14

cJSON API 저장 * 원문 : http://wiki.openpicus.com/index.php/JSON_Parser JSON APIsThe main data type to use JSON library is struct cJSONThe following tables describe JSON related APIs ParsingFunctionDescription cJSON *cJSON_Parse(const char*value)This function parses a JSON stringconst char *value - pointer to a cJSON string to be parsedReturns cJSON *- pointer to the cJSON parsedNOTE Call cJSON_Delete(cJSON *c) .. 2015. 7. 19.
랜덤 함수 srand((unsigned)time(NULL));​// 시간에 따라 랜덤 함수의 패턴 값을 변경함. 단 time.h 를 include 해야 함.rand()%10​;// 나머지 연산을 사용했기 때문에 어떤 숫자가 나오든 0~9 까지로 나옴. 2015. 1. 27.
switch문 case내 변수 초기화시 에러 switch case 문 사용시 case에서 변수를 선언하여 사용 할 경우.case n: 이후에 스코프(중괄호)를 사용하지 않으면 컴파일 에러가 난다. ex) 에러나는 코드switch ( var ){ case 1: int a = 0; break;} ex) 해결을 위해서 중괄호 사용switch ( var ){ case 1: { int a = 0; break; }} 2015. 1. 27.
#pragma 지시자 ( once, pack, warning ) 1. pragma 지시자기본형식 : pragma 토큰문자열플랫폼별로 다른 기능에 대한 지시사항을 컴파일러에게 전달하는 방법.#문자로 시작하지만 전처리 명령이 아니라 컴파일러 지시자이다.플랫폼에 종속적인 기능에 대한 지시자이므로 컴파일러에 대해 종속적이다.컴파일러는 #pragma 다음의 토큰을 인식할 수 없으면 단순히 무시하고 계속 컴파일한다. 2. once기본형식 : #pragma once사용용도 : 헤더 파일 선두에 써 두면 컴파일러는 중복된 헤더 파일을 한번만 실행한다. 3. pack기본형식 : #pragma pack(정렬 바이트수)사용용도 : pack 지시자는 이후부터 선언된 구조체의 정렬 방식을 지정한다. 4. warning기본형식 : #pragma warning(경고제어문:경고번호)사용용도 : .. 2015. 1. 20.
inline 함수 inline 함수는 함수가 호출 되는 곳에 해당 함수 내부의 실행 코드를 통째로 호출한 곳으로 복사하여 사용하게 한다.* 개념이 #define 과 유사하다 논리적 작동 속도가 일반 함수에 비해 빠르다. 컴파일시 최종 파일의 크기가 늘어난다는 단점이 있다. inline 함수는 명시적인 방법과 묵시적인 방법이 있다.명시적인 방법은 inline으로 선언해야만 그 함수를 inline 함수로 사용하며,묵시적 방법은 헤더에 함수를 선언하고 내용을 같이 써줄 경우 자동으로 inline 함수가 된다고 한다. ?123inline void TestFn() { cout 2015. 1. 20.
상수화 const constconst는 대상을 상수화 시키는 키워드이다.원래 c++에서만 존재하던 키워드 였는데, c언어의 표준을 재정립하는 과정에서 c언어의 일부가 되었다고 한다. const 사용시 대상은 항상 초기화가 되어있어야 한다. (값을 바꿀 수 없기 때문에 쓰레기값이 담기면 곤란. ) 변수의 상수화?1const int a = 10; 포인터의 상수화?123456789int a = 10;const int *p = &a;// 포인터 p가 가르키는 주소가 갖고 있는 값을 포인터p로는 변경 할 수 없게 된다. int * const p = &a;// 포인터 p가 가르키는 주소를 변경 할 수 없게 된다. const int * const p = &a;// 포인터p로 p가 가르키는 주소와 주소가 갖고 있는 값을 변경 할 수 없.. 2015. 1. 20.
320x100