본문 바로가기

C15

C언어의 꽃 포인터 C언어가 있는 이유는 단언컨대 포인터 때문이라고 할 수 있습니다. 이제까지 변수를 선언함으로써 메모리 안에 있는 공간을 확보한 후에 그곳에 데이터를 넣고 쓰는 공간으로 사용했습니다. 하지만 포인터를 사용하게 되면 메모리의 주소를 저희가 직접 조작을 할 수 있습니다. 그러나 포인터를 잘못 사용하게 되면 중요한 메모리가 날아갈 수 있으니 그 부분은 조심해야 합니다. 주소 연산자&(ampersand) 위에서 변수가 메모리 안에 있는 공간을 확보 후 그곳에 데이터를 집어넣은다고 했습니다. 하지만 그 메모리의 주소를 저희는 직접 알아본 적이 없습니다. 변수의 메모리 주소를 알려면 변수명 앞에 &(ampersand)를 붙이면 됩니다. 그렇다면 직접 주소를 알아보겠습니다. #include int main(void){.. 2022. 2. 4.
C언어 함수(function) 프로그래밍을 하다 보면 자주 쓰이는 것들 중 하나가 함수입니다. 함수는 자기가 직접 만들어서 사용할 수도 있고 다른 사람이 만든 함수를 불러와서 사용도 가능합니다. C언어에서 대표적으로 사용하는 함수 중 하나가 printf함수입니다. 함수를 사용하는 이유는 간단합니다. 복잡하거나 앞으로 자주 사용될 것들을 미리 만들어서 편하게 사용하기 위해서입니다. 저희는 printf함수를 1줄로 사용하지만 실제 코드는 훨씬 복잡하고 어렵다고 합니다. 그러면 이제 함수를 만드는 방법을 알아보겠습니다. 함수의 사용 방법 일단 함수를 만들려면 함수를 선언해야 합니다. int add(int x, int y); 함수 선언은 반환형, 함수명, 매개변수로 이루어져있습니다. 위 코드에서 반환형은 int 함수 명은 add 매개변수는 .. 2022. 2. 2.
C언어 반복문 (for, while, do while) C언어에는 반복문이 3종류가 있습니다. for문, while문, do ~ while문입니다. 각각 다른 특색이 있는 반복문입니다. 어떤 특색이 있고 또 어떤 경우에 사용해야 좋을지 이 글에서 알아보겠습니다. for문 사용 방법 / 주의점 for문은 반복할 횟수가 정해진 경우에 사용하기 좋습니다. for문은 처음 조건을 작성할 때부터 반복 횟수를 정해놓고 시작하기 때문입니다. 만약 반복 횟수가 정해진 경우라면 for문을 사용하는 것을 추천드리고 그렇지 않다면 while문 사용을 추천드립니다. for문의 사용 방법은 초기식, 조건식, 증감식만 적으면 끝입니다. 예를 보여드리겠습니다. #include int main(void) { int i, a; a = 1 for (i = 0; i < 10, i ++) a .. 2022. 1. 31.
C언어 switch / case 사용 방법 C언어에는 if문과 비슷한 문법이 있습니다. 그것은 switch ~ case문법입니다. if문은 조건식이 이상, 미만, 초과, 같음 등등 여러 가지 조건을 쓸 수 있지만 switch문은 ==(같음) 밖에 사용하지 못합니다. 그래서 switch문은 if문으로 치환할 수 있지만 if문은 switch문으로 치환하지 못합니다. 그렇다면 전부 if문을 쓰면 되지 왜 switch문 같은 게 있을까요? 첫 번째는 가독성입니다. 밑에 보면 알겠지만 switch문은 if문에 비해 가독성이 좋은 편입니다. 가독성이 좋다는 것은 좋은 코드라는 것이죠. 두 번째 이유는 속도입니다. if문에 비해 switch문은 속도가 조금 더 빠릅니다. 그렇다면 switch문을 사용할 수 있을 때에는 if문으로도 사용 가능하더라도 switc.. 2022. 1. 17.
C언어 if문 안녕하세요 오늘은 프로그래밍을 짤 때 아주 중요한 제어문인 if문에 대해서 알아보겠습니다. 제어문에는 선택문, 반복문, 분기문이 있는데 if는 선택문입니다. if는 조건을 만족해야 실행이 되고 만약 조건이 맞지 않는다면 실행이 되지 않습니다. if문 if문을 사용하는 방법은 간단합니다. 조건식을 쓰고, 그 안에 조건이 맞으면 실행할 실행문을 쓰면 끝입니다. if ( apple > 10) { banana = 5; } if (apple > 10)이 조건입니다. 만약 apple라는 변수가 10보다 크다면 실행문을 실행시킵니다. 여기서 실행문은 banana = 5인데 banana 변수 값은 5가 되는 것입니다. 그리고 if문을 사용할 때에는 중괄호를 써야 하는데 중괄호를 사용하는 방식은 두 가지가 있습니다. i.. 2021. 12. 26.
C언어 연산자(관계연산자 / 논리연산자) 관계 연산자 프로그래밍을 하다 보면 조건에 따라서 값을 다르게 설정해야 하는 경우가 있습니다. 예를 들어 뷔페에 갔을 경우 나이가 7세 미만이면 5,000원 그 이상이면 10,000원 이런 식으로 말이죠 이렇게 특정 기준을 프로그래밍할 때 필요한 것이 관계 연산자입니다. 관계 연산자에는 대소 관계 연산자, 동등 관계 연산자가 있습니다. 대소 관계 연산자는 >, b); printf("%d", res).. 2021. 12. 21.
C언어 연산자(산술 연산자/ 대입 연산자/ 증감 연산자) C언어 연산자 안녕하세요 오늘은 C언어의 연산자에 대해서 알아보겠습니다. 연산자는 참고로 프로그램을 짤 때 변수나 값을 연산하는 것입니다. 연산자는 여러 가지가 있는데 그중 산술 연산자와 대입 연산자 그리고 증감 연산자를 알아보겠습니다. 산술 연산자 산술 연산자는 우리가 어렸을 적 배웠던 더하기, 빼기, 곱하기, 나누기, 나머지가 있습니다. 모두 이항연산자(피연산자가 2개)이며, -연산자는 피연산자를 1개만 사용할 경우 부호를 바꾸는 역할도 있습니다. C언어에서 산술 연산자를 사용해보겠습니다. 이렇게 C언어에서도 산술연산자도 사용 가능합니다. 연산자의 우선순위는 저희가 예전에 수학에서 배운 계산 순서와 비슷합니다 ( 괄호 먼저 곱하기 먼저 등등) 여기서 나머지(%)는 왜 필요하지?라고 생각하시는 분들이 .. 2021. 12. 15.
C언어 input값 출력하기 (scanf) C언어에서 사용자의 입력 값(input)을 받아오려면 scanf함수를 사용해야 합니다. scanf는 scanformatted라는 뜻이고 사용자가 입력한 데이터를 원하는 형태로 출력하여줍니다. scanf는 먼저 변수 선언을 해주고 scanf함수에서 변수 앞에 &기호만 붙여주면 됩니다. 예를 들어보겠습니다. #include int main(void) { int a; scanf("%d", &a); return 0; } 먼저 int에 a라는 변수를 선언해주고 그 후에 scanf 안에서 변수 앞에 &문자를 붙어주었습니다. 그러면 터미널 창 안에서 커서가 깜빡이는데 거기에 정수 값을 입력하면 끝입니다. 그러면 input값이 잘 들어가 있는지 확인해보겠습니다. 확인 방법은 간단합니다. 입력받은 scanf 값을 pri.. 2021. 12. 12.