본문 바로가기

C언어15

야메 C언어 강좌: 12. 문자열 안녕하세요. 포인터 강좌 이후로 오랜만에 돌아왔습니다. 4학년이 되니까 이래저래 바쁘네요 ㅜㅜ 어쨌든 이번 시간에는 문자열에 대해서 알아보도록 하겠습니다. 우리는 이전 강의들을 통해서 배열과 포인터를 배워봤습니다. 이거 둘을 사용해서 저희는 문자열을 사용할 수가 있습니다. 문자열과 문자의 차이는 무엇인가요? 앞에서 우리는 문자를 char변수에 저장을 한다 라는 것을 배웠었고 char변수 같은 경우에는 딱 한 문자만 저장을 할 수 있었습니다. 반면 오늘 배울려는 문자열은 여러문자의 연속입니다. 둘의 차이를 정리하자면 아래와 같습니다. // 문자의 예시 'a', 'b', 'c' // 문자열의 예시 "abc", "hello", "string" // 문자는 ''로 감싸주고 문자열은 ""로 감싸주어야 합니다. 그.. 2022. 10. 24.
야메 C언어 강좌: 11. 포인터(1) 이전 강좌를 작성하고 굉장히 오랜 시간이 지나서야 해당 강좌를 작성하기 때문에 이전 강좌와 연결되지 않는 부분이 있더라도 양해부탁드리고 봐주시길 바라겠습니다. 사실 야메 강좌이기 때문에 포인터에 대해서 어떻게 설명을 해야 할지 굉장히 고민이 되었습니다. 저는 포인터를 처음 배우고 이전까지 배운 내용에 대한 회의감과 C언어와 멀어지는 느낌을 받기까지 하였습니다. 하지만 개인마다 포인터를 배우고 더욱 흥미를 느끼는 사람도 있기 때문에 최대한 간단하게 포인터에 대해 얘기하겠지만 그래도 최소한의 요점정도는 적어두도록 하겠습니다. (더욱 자세한 내용을 원하시는 분들은 다른 블로그를 찾으시길 바라겠습니다) 포인터에 대해서 알기 전에 주소라는 개념을 알고 계셔야 합니다. "엥 주소????? 갑자기????" 라고 생각.. 2022. 1. 14.
야메 C언어 강좌: 10. 2차원 배열 저번 시간에 배열에 관하여 배워보았습니다. 배열은 많은 변수들을 저장하기 위해서 만들어 졌다고 했죠 그럼 혹시 배열의 배열을 만들어 보자라는 생각을 한 사람이 있을까요? 네 오늘은 바로 배열의 배열 2차원 배열을 배워보도록 하겠습니다. 2차원 배열은 마치 우리가 하나의 사각형모양의 저장공간이라고 생각할 수도 있습니다. 바로 위와 같은 모양의 저장공간으로 생각할 수 있겠습니다. 물론 "생각"을 말입니다!!! 아직 이 상자만 보면 어떤 의미인지 이해가 안될 수도 있기 때문에 우리가 int arr[2][4]을 선언했다고 예를 치면 밑처럼 데이터들이 있다고 "생각"을 하는 겁니다. 어떤가요? 이렇게 보니 2차원배열이 나름 쓸만한 녀석이라고 생각이 들지 않나요? 이런 모습이 마치 2D게임에서의 맵을 표현한 것 같.. 2020. 8. 1.
야메 C언어 강좌: 9. 배열 안녕하세요 정말로 오랜만에 다시 돌아왔습니다. 무려 두달 동안 글을 올리지 못했는데 학기말에 갑자기 바빠지고 계절학기도 듣고 이것저것 하다 보니 늦어지게 되었습니다. 앞으로는 다시 열심히 공부하고 글 포스팅 올리도록 하겠습니다. 요즘에 저는 C++을 배우고 있는데요 1학년때 배웠지만 그때는 공부를 열심히 안해서 지금 다시 공부하는 내내 새롭내요 ㅎㅎ. 여러분들도 C를 모두 배우면 C++에 도전하 실수 있습니다. 왜냐하면 C의 거의 모든 내용들을 C++은 포함하고 있기 때문이죠. 그리고 C++은 정말 많은 곳에 활용할 수 있기 때문에 반드시 배워보는 것을 추천드립니다. 그럼 다시 우리가 배우고 있는 C로 돌아가서 오늘은 배열에 관해서 배워보도록 하겠습니다. 그동안 우리는 변수 하나를 선언을 할때에는 하나하.. 2020. 7. 26.
야메 C언어 강좌: 8. switch문 이번 시간에는 저저번 시간에 배웠던 if문의 연장선이라고 보시면 되겠습니다. if문과 switch문이 하는 일은 굉장히 비슷합니다. 다만 주어진 상황에 따라 if문을 사용할지 switch문을 사용할지를 코드의 작성자가 선택할 수 있죠. #include int main(){ int choose; printf("뽑기를 진행합니다 아무 숫자 하나를 입력해주세요 : "); scanf("%d",&choose); if(choose == 1){ printf("축하합니다, 명품백 당첨입니다!"); } else if(choose == 2){ printf("축하합니다, 아이패드 당첨입니다!"); } else if(choose == 3){ printf("축하합니다, 제주도여행 항공권 당첨입니다!"); } else if(ch.. 2020. 5. 2.
야메 C언어 강좌: 7. while문과 for문 이번 강좌에선 조건문의 꽃이라고 할 수 있는 while문과 for문에 대해서 알아보도록 하자. while문과 for문이 조건문의 꽃이라고 부를 수 있는 이유는 바로 '반복'이란것에 있다. 대부분의 컴퓨터 작업에서 반복은 빼먹지 않고 거의 필수로 존재한 작업이다. 특히 기계라는 것의 제일 독출난 특징이 바로 반복이지 않겠는가. 우리가 비록 앞에서 많은 내용들을 다루었지만 이 while문과 for문을 배우면 반복이란 기능을 통해 더욱더 많은 기능의 코드를 만들어 낼 수 있다. 그럼 while문 부터 살펴보자. #include int main(){ int a; int b = 0; printf("a의 값을 입력해주세요 : "); scanf("%d",&a); while(a!=b){ a-=1; } return 0;.. 2020. 4. 29.
야메 C언어 강좌: 6. if문 조건문의 시작 안녕하세요. 매일 블로그에 글을 올리는게 꽤 힘드네요. 그래도 벌써 블로그에 제글을 올리기 시작한게 2주가 거의 다가갑니다. 항상 매일 꾸준히 무언가를 하는게 힘든일인데 이번계기로 저만의 프로젝트를 만들어 매일 (무엇)하기 식으로 제가 성장할 수 있는 무언가를 계속해서 시작할 생각입니다. 여러분들도 꾸준히 코딩 공부 하시고 계시나요? 이 강좌를 꾸준히 보신 여러분들은 이전까지 정말 기초의 기초를 배우셨다고 생각해도 좋습니다. 그리고 오늘부터 배우는 조건문들은 거의 모든 컴퓨터 언어에 똑같이 적용되는 기초지식입니다. 덕분에 이런 간단한 조건문으로 정말 많은 것들을 해낼수 있죠. 그럼 여러분들 새로운 지식을 받아들일 준비가 되셨나요? 그럼 한번 if문을 시작으로 조건문들을 배워보죠. 우리가 네이버, 다음, .. 2020. 4. 28.
야메 C언어 강좌: 5. 문자의 비밀과 출력(ASCII, 아스키코드) 저번 시간에 굉장히 다양한 변수들과 그 변수들을 사칙연산을 통한 활용에 관하여 배워보았다. 그리고 오늘은 잠깐 문자와 관해서 조금 만 더 설명을 진행하고 출력에 관해서 얘기해보려고 한다. 문자 변수는 char이다. 저번 강의를 살펴보았다면 char는 모든 변수중에서 가장 작은 범위의 수를 담을 수 있는 변수이다. 그 이유는 기본적으로 영어문자들을 모두 담을 수 있게 하기 위함이라고 설명을 하였다. 그럼 char 변수에 문자를 넣어보는 코드를 보이겠다. #include int main(){ char a = 'a'; printf("a를 %%d로 출력한다면? : %d\n",a); printf("a를 %%c로 출력한다면? : %c\n",a); return 0; } 일단 char에 문자를 저장하는 방식은 ''안에.. 2020. 4. 26.
[Visual studio2019] scanf_s와 scanf 문자열 입력 오류 비주얼 스튜디오는 거의 2년 마다 새로운 버전으로 출시가 되고 있습니다. 덕분에 각 버전마다 조금씩 다른 특징이 있습니다. 그리고 이번 visual studio2017에선 조금 큰 변화가 있었습니다. 바로 출력함수 scanf입니다. 예전처럼 scanf를 사용하게 되면 경고문이 나오게 됩니다. 특히 우리가 평소대로 문자열을 입력받기 위해서 scanf("%s",sentence); 이런식으로 사용하게 된다면 제대로 작동을 안하고 경고문이 뜹니다. 그럼 어떻게 해야 할까요??? 1. 일단은 당장 경고문을 없애기 위해서 경고문을 없애는 define을 사용하면 경고문이 없어집니다. #define _CRT_SECURE_NO_WARNINGS 그리고 아마 비주얼스튜디오에서 얘기를 하겠지만 scanf함수 대신에 scanf.. 2020. 4. 24.