| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 안드로이드
- java
- 스시
- chrome
- github
- 부경대 맛집
- 태국지도
- 태국여행준비물
- 깃
- chart
- 크롬
- 여행지도
- 경성대 맛집
- 태국 여행정보
- 소프트웨어
- SDK
- 삼성소프트웨어멤버십
- 태국여행
- Android
- 맛집
- 깃허브
- 갤럭시 노트
- c#
- 갤럭시 노트 해외판
- Tizen
- 서면 맛집
- 자바
- 타이젠
- 일정관리
- git
- Today
- 0
- Total
- 211,887
목록Programming/C/C++ (7)
DREAM IT, WISH IT, DO IT
Effective C++항목2 : #define 을 쓰려거든, const, enum, inline을 떠올리자.- 가급적 선행 처리자보다 컴파일러를 더 가까이 하자.- 즉, 매크로 보다는 상수를 사용하자. #define VALUE 1.123매크로를 사용하면 컴파일러는 VALUE 라는 심볼릭 네임으로 확인이 불가능합니다. 컴파일러로 넘어가기전에 선행 처리자가 전부 상수로 바꿔버리기 때문입니다. const double Value = 1.23;언어 차원에서 지원하는 상수 타입의 데이터이기 때문에 컴파일러도 확인 가능하며 기호 테이블에도 들어갑니다.매크로를 사용하면 해당 값이 등장 횟수만큼 복사되지만 상수 타입의 Value 는 사본은 딱 한개만 생깁니다. - #define 을 이용해서 상수로 교체하려고 할 때 2..
"Editplus" 와 "Visual Studio 2010" 컴파일러 연동하기 C/C++ 코딩을 할 때 알고리즘을 풀이 하거나 기본적인 테스트를 위해서Visual Studio를 실행하면 너무 무겁기에 Editplus 를 사용하는 편이다. 하지만 Editplus는 컴파일러가 내장되어 있지 않기 때문에 Visual Studio에 있는 컴파일러를 사용하기로 한다.먼저 환경변수 등록을 해야 한다. [컴퓨터] -> [속성] -> [고급 시스템 설정] -> [환경변수] [시스템 변수]1. Path 항목에 2가지를 추가한다.C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\binC:\Program Files (x86)\Microsoft Visual Studio 10.0..
[Linux Kernel] 리눅스 커널 소스입니다.http://kernel.org/위 주소로 접속하시면 리눅스 커널 풀소스를 다운로드 받을 수 있습니다.
#include stdio.h #include string.h #include stdlib.h struct tag_NameCard { char name[10]; char tel[15]; char addr[32]; }; #define ELETYPE tag_NameCard ELETYPE *ar; unsigned size; unsigned num; unsigned growby; void InitArray(unsigned asize, unsigned agrowby) { size = asize; // 초기 할당량 growby = agrowby; // 추가 여유분 num = 0; ar = (ELETYPE *)malloc(size * sizeof(ELETYPE)); // 갯수(size)에 크기(sizeof(ELETY..
#include stdio.h #include string.h #include stdlib.h #define ELETYPE int ELETYPE *ar; unsigned size; unsigned num; unsigned growby; void InitArray(unsigned asize, unsigned agrowby) { size = asize; growby = agrowby; num = 0; ar = (ELETYPE *)malloc(size * sizeof(ELETYPE)); } void Insert(int index, ELETYPE value) { unsigned need; need = num + 1; if (need > size) { size = need + growby; ar = (ELETYP..
문자열과 메모리는 연속된 공간이라는 점에서 공통점이 있기 때문에 문자열 관리 함수와 원형이 비슷하다. . void *memcpy(void *dest, const void *src, size_t count); int memcmp(const void *buf1, const void *buf2, size_t count); void *memchr(const void *buf, int c, size_t count); void *memset(void *dest, int c, size_t count); void *memmove(void *dest, const void *src, size_t count); . strcpy memcpy strcmp memcmp 위와 같이 기본적인 동작 방식은 대응되는 문자열 함수와 거의..
배열은 C언어가 제공하는 가장 기본적인 자료구조이며 작고 빠른 성능을 보이는 장점을 가진다. 하지만 한 가지 단점이 있는데 배열 요소가 연속된 메모리 공간에 배치되어 있어야 하므로 중간의 요소를 삭제 하거나 새로운 요소를 삽입할 수 없다는 점이 있다. 배열은 일반적으로 삽입, 삭제가 안되는 것으로 알려져 있는데 이는 일종의 고정 관념이다. 이 예제는 문자형 배열에 요소를 삽입, 삭제 하는 방법을 보여준다. #include stdio.h #include string.h char ar[16] = "ABCDEF"; void Insert(int index, char ch) { memmove(ar + index + 1, ar + index, strlen(ar) - index + 1); // 해당 index 뒤로 ..