개발에 있어서 기본은 무엇보다 중요합니다. 기본이 흔들리거나 없다면 정말 정말 큰 프로젝트를 할 경우에 무너지는 건 한순간입니다. 아주 사소하지만 중요한 포인트를 놓쳐서 일을 그르치는 경우를 많이 봤습니다. '전문가를 위한 C'란 책을 읽으면서 마음 한편으로 기본이 항상 중요하단 생각이 문득문득 드네요. C는 시스템 프로그래밍과 임베디드 시스템 등 다양한 분야에서 사용되는 프로그래밍 언어입니다. 지금은 다들 자바, 자바스크립트, 코틀린 등 여러 현대 언어들을 쓰지만 그 모든 것들의 할아버지 격인 언어인 C는 아직도 현업에서 쌩쌩하게 사용되고 있는 정말 최장수 언어이기도 합니다. 기본적인 C 학습에는 다음과 같은 부분들을 공부하는게 기본이 됩니다. C 언어의 기본 문법과 표준 라이브러리의 이해 : C 언어..
struct 안 쓰면 불편한 점 c언어 struct의 필요성과 장단점 그리고 사용시 주의할 점에 대한 이야기입니다. car_name이란 변수를 참조하는 함수들이 100개 있다고 가정하죠. 함수 선언과 정의하는 부분들이 있을 겁니다. 그런데 car_color란 변수를 추가해야 할 일이 생겼습니다. 그래서 100번 수정해서 함수들 마다 데이터 하나를 추가했습니다. 그런데 또 수정 요구가 들어왔어요. 오 마이… 이번에는 car_size입니다. 헐….. OTL 이런 반복작업을 계속 해야 할까요? struct를 쓰면 좋은 점 위의 이야기와 같은 불상사를 막으려면 struct를 사용하면 됩니다. c언어의 struct 구조체는 여러 형의 데이터를 묶어야 할 때 사용합니다. 즉 구조화된 데이터형이죠. 이렇게 하면 좋은..
컴파일 시 다음과 같은 에러가 나온다면 헤더를 인클루드 여부를 확인하라. 소스에 헤더가 포함되지 않아서 생기는 경우가 대부분이기 때문이다. Error[line 275] : pointer to incomplete class type is not allowed 에러 내용을 좀 더 보면 번역하면 '불완전한 클래스 유형의 포인터가 허용되지 않습니다' 즉 선언이 안 되어 있다는거다. 변수나 구조를 선언한 헤더를 포함했는지 여부를 따져보자.
c언어에서 sizeof 사용할 때 이거 하나는 알아두세요. 제가 오늘 실수한 내용 공유합니다. c언어에서 sizeof는 변수 타입의 메모리 바이트 크기를 구하고자 할 경우 주로 사용하는데요. sizeof(type) 이런식으로 씁니다. 다들 아는 얘기죠. 그러면 바이트 단위의 사이즈를 돌려줍니다. 가령 int a; result = sizeof(a); 라고 하면 result에는 보통 4라는 값이 들어갑니다. int a[3]; result = sizeof(a); 라고 하면 result 변수에는 정수크기와 배열 크기의 곱에 해당 하는 4 * 3 = 12라는 값이 들어가게 되고요. 포인터를 사용하지 마세요 그런데 종종 실수 할 수 있는게 sizeof에 포인터를 쓸 때입니다. 저도 무심결에 실수했네요. 메모리를 m..
문자열 상수, 문자배열에 대한 이해 C언어 문자 배열을 보다가 생각난 김에 정리해 놓습니다. 다음의 두 코드 char *test = "abcdef"; 와 char test[] = "abcdef";의 차이점은 무얼까요? 배열과 포인터 그리고 메모리 두 가지의 차이를 이야기 하기에 앞서서 "abcdef"에 대해 짚고 넘어갑시다. "abcdef"란 코드는 컴퓨터가 프로그램을 메모리에 로드할 때 읽기 전용 메모리에 로드되는 문자열 상수입니다. 문자열 상수의 주소란 말이죠. 참고로 읽기 전용 메모리에는 프로그램 코드 라던가 상수가 로드 됩니다. 그럼 돌아와서 문자열 상수 주소를 char *test인 포인터에 넣느냐 아니면 char test[]인 배열에 넣느냐가 차이점 이군요. 둘의 차이는 다음과 같습니다. 1. ..
- Total
- Today
- Yesterday
- 캠코더
- 블로그
- CSS
- 서평
- X1 DASH
- 소니 AXP35
- Sony
- 팅크웨어
- Ai
- 티스토리
- 아이나비 태블릿
- qxd1000a
- 아이나비 패드
- 티스토리챌린지
- c언어
- 소니 핸디캠
- 아이나비
- 아이나비 탭 XD11 Pro
- 블랙박스
- 박근혜
- 오블완
- AXP35
- 소니 캠코더
- 한빛미디어
- SM5
- 독서
- 아이나비 Tab XD9
- 아이나비 탭 xd9
- 독후감
- 소니
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |