본문 바로가기

* Language/C5

[C언어] 포인터 개념 아직도 햇갈리시나요? 코드로 봐야 100% 이해 할 수 있습니다. C언어를 공부하다 보면 고비가 찾아오는데 그 첫번째 관문이 포인터 부분이 아닐까 싶다. 프로그래밍 언어를 공부함에 있어서, 가장 좋은 방법은 코드로 계속해서 뜯어 보는 것이다. (책으로 계속해서 봐봤자 절대 실력 향상에 도움이 되지 않는다는 것을 경험한적이 있다.) 그냥 모르더라도 일단 코드로 쳐보고 개념과 1:1 매핑을 시켜보는 과정이 제일 중요 한것 같다. 포인터 개념 * 포인터란? : 메모리 주소값을 저장하는 변수. * 표현 방법? int n = 10; int *ptr = &n; 하나의 기초적인 프로젝트로 포인터 이해하기 정답(Answer) 보다는 아래의 시행착오 과정을 우선적으로 보는것을 추천드립니다. 그리고 난 뒤 Answer를 보면 어느정도 이해가 갈거라 생각합니다. Q) num1, num2의.. 2021. 9. 4.
[C언어] 사용자 입력 여러개 받기(반복문) scanf를 이용하여 1개를 받을 수는 있지만, 만약 여러개(10개 혹은 그 이상)를 받는다면? 어떻게 작성 할 수 있을까? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include int main() { int arr[10]; for(int i=0; i 2021. 8. 30.
[C언어] 헷갈리는 증감 연산자(++a, a++) 차이 한 번에 이해하기 C언어를 공부하다 보면, 처음에 직면하게 되는 문제가 증감연산자(전위, 후위)이다. 그럴수록 많은 사례를 보는것 보다 하나의 원리를 파고들어 이해하는게 훨씬 효과적이다. 우선 큰 원리는 아래와 같다. (1) b = a++ b = a; a = a + 1; (해설) :a를 b에다 먼저 넣고 나중에 a를 1증가 시켜야 한다. (2) b = ++a; a = a + 1; b = a; (해설) :a를 먼저 증가 시키고 그 증가시킨 a를 b에다 넣는다 코드로 살펴보자 (1) 1 2 3 4 5 6 7 8 9 10 11 #include int main() { int a = 1; int b = 2; b = a++; // a = 2, b = 1 printf("%d %d\n", a, b); } cs 초기값 a = 1 , b .. 2021. 8. 17.
[C언어] 확실히 알고가자 프로토타입(Prototype)이란?(개념잡기) C언어를 공부하다 보면 코딩을 하는 능력과는 별개로 단어적인 개념으로 인해 쉽게 지치기 마련이다. 단어를 사전적 그대로 받아들이기보다 어떠한 이미지로 기억하는 것이 훨씬 더 효율적이다. 포로토타입(Prototype)이란 무엇일까? Pro의 접두사로 "~~ 이전에"라는 의미가 가진 무엇인가 라는 생각이 든다. Pro(~이전에) + to(~에) + type(타입, 유형) : ~하기 이전에 어떠한 타입으로 무언가를 해놓은 것. 위의 개념적 이미지를 가지고 다음 사례를 읽어보자 1. 책을 읽기 이전에 어떠한 책인지 대략적으로 파악할 수 있는 어떠한 타입? : 목차 2. 본격적인 출시 이전에 어떠한 기능을 검증하기 위해 제작하는 제품(타입)? : 시제품 핵심 이미지 : ~을 하기 이전에 미리 확인하는 이미지 C언.. 2021. 1. 6.
[C언어] C언어를 배워야하는 이유(주관적인생각) 프로그래밍 언어를 배우기 시작하면, 대부분의 사람들은 C언어를 먼저 공부를 하거나 혹은 해당 언어를 바탕으로 첫 프로그래밍을 배우기 시작한다. 딱딱한 책과 익숙치 않은 어려운 영어들을 보면서 계속해서 흥미를 잃어간다. 그리고 속으로 생각한다. '아... 프로그래밍은 내 길이 아닌가?' 왜 C언어를 왜 배우는지도 안알려주고, 왜 이것부터 해야하는가? 누군가 속시원하게 알려주지도 않고 참고 C언어를 계속해서 학습 해나간다. 그러다 포인터부분에서 딱하니 막히기 시작하고, 아에 손을 놔버리게 된다. 아마 이글을 읽을려는 분들은 왜 C언어를 배워야 하는가에 대해 진지하게 고민을 하고 있으며, 답답한 마음에 검색하여 들어왔을거라 생각한다. 그렇다면, 지금부터 C언어를 왜 배워야 하는가에 대해 내 개인적인 의견을 적.. 2020. 10. 17.