본문 바로가기

반응형

전자 공학/C언어 C++

(33)
[C언어 독학하기] 18. 구조체란? struct, typedef 안녕하세요. 취업한 공대누나입니다. 오늘은 구조체에 대해 공부해보도록 하겠습니다. 1. 구조체란? (의미와 선언 방법) 구조체는 사용자가 정의해서 사용하는 사용자 정의 자료형입니다. 하나 이상의 변수들을 그룹화하여 새로운 자료형을 만드는 것입니다. 구조체를 정의한다는 것은 구조체를 만든다는 의미와 같습니다. 어떻게 구조체를 만드는지 보도록 하겠습니다. struct라는 키워드가 바로 구조체의 시작을 알리는 부분입니다. computer라는 이름의 구조체를 정의하고 있습니다. 그리고 중괄호 안에 변수를 선언해줍니다. 구조체에 의해 정리된 요소를 우리는 멤버라고 부릅니다. 다 선언을 한 뒤에 세미콜론을 꼭 해줘야 하는 것 잊지 마세요. 일반적으로는 위와 같이 main 함수 바깥에 선언하지만 이것은 어떻게 사용하..
[C언어 독학하기] 17. 값에 의한 호출, 주소에 의한 호출 안녕하세요. 취업한 공대누나입니다. 오늘은 함수의 호출 방식중 값에 의한 호출과 주소에 의한 호출에 대해 공부해보도록 하겠습니다. 1. 값에 의한 호출 (call by value) 이전 '함수'편에서 공부했던 방식은 값에 의한 호출입니다. 2020/11/03 - [전자 공학/C언어] - [C언어 독학하기] 13. 함수 [C언어 독학하기] 13. 함수 안녕하세요. 취업한 공대누나입니다. 오늘은 함수에 대해 공부해보도록 하겠습니다. 저는 처음에 함수에 대한 개념을 잘 이해하지 못했었는데요. 이제는 나름? 자유자재로 사용할 수 있게 되었 gdnn.tistory.com 값에 의한 호출 방식은 변수의 값을 복사해서 함수를 호출하는 방식을 말합니다. 예시를 들어보겠습니다. 위와 같은 소스 코드에서 변수 a의 값을 ..
[C언어 독학하기] 15. 포인터란(1) 안녕하세요. 취업한 공대누나입니다. 오늘은 C언어의 꽃이라고 불리는 포인터에 대해 배워보도록 하겠습니다. 가장 중요한 개념이면서 많은 사람들이 포기를 하는 챕터이기도 합니다. 저역시도 그랬고 다시 천천히 공부하는 중이니 포기하지 마세요 시작하겠습니다. 1. 어드레스 포인터에 대해 알기 위해서는 어드레스의 개념에 대해 먼저 이해하고 있어야 합니다. 어드레스는 말 그대로 주소입니다. 우리가 값을 넣은 변수가 어디에 있는지를 말하게 됩니다. %p는 변수의 주소를 헥사값(16진수)로 표현할 때 사용하는 것입니다. a의 어드레스를 다음과 같이 알 수 있습니다. 변수명의 앞에 &를 붙이면 그 변수의 어드레스를 나타냅니다. 이러한 어드레스(메모리 주소)는 고정된 것이 아니기 때문에 실행할 때마다 달라지게 됩니다. 메..
[C언어 독학하기] 14. 다차원 배열, 초기화 안녕하세요. 취업한 공대누나입니다. 오늘은 다차원 배열의 개념에 대해 공부해보도록 하겠습니다. 지난 번에 공부했던 배열은 복수의 동일한 자료형의 변수를 하나로 묶은 것이었습니다. 다차원 배열은 2차원 배열 이상을 의미합니다. 1. 2차원 배열과 3차원 배열 그림과 같이 int a[3][2];와 같이 선언했다고 생각해보겠습니다. 그러면 다음과 같이 int 형 공간이 6개 생기는 것입니다. 각각 원하는 것을 대입하면 됩니다. 그렇다면 3차원 배열은 어떻게 생기게 될까요? int a[2][2][2][2];와 같이 선언했다고 생각해봅시다. 그렇게 되면 a[0][0][0], a[0][0][1], a[0][1][0], a[0][1][1], a[0][2][0], a[0][2][1] 이렇게 총 6개의 공간이 생기는 것..
[C언어 독학하기] 13. 함수 안녕하세요. 취업한 공대누나입니다. 오늘은 함수에 대해 공부해보도록 하겠습니다. 저는 처음에 함수에 대한 개념을 잘 이해하지 못했었는데요. 이제는 나름? 자유자재로 사용할 수 있게 되었습니다. 함수는 사실 같은 일을 반복하기 싫을 때, 계속 같은 코드를 쓰기 싫을 때 아주 유용하게 사용할 수 있습니다. 예시로 덧셈을 하는 함수를 만들어서 설명을 해보도록 하겠습니다. 우선 이 함수의 출력 형태는 int형입니다. (결과 값이 정수형이게 됩니다.) 이름은 add 두 정수(a,b)를 입력받아서 그 두수를 더하여 return해주게 됩니다. 중괄호 안에 함수가 수행해야 할 내용을 적어주면 됩니다. 이렇게 한 것을 우리는 함수를 정의했다고 말합니다. 함수를 정의한 뒤 어떻게 사용할까요? 정의해놓은 함수를 사용할 때에..
[C언어 독학하기] 12. switch~case문 안녕하세요. 취업한 공대누나입니다. 오늘은 조건문 중의 하나인 switch case문에 대해 공부해보도록 하겠습니다. swtich case문 같은 경우에는 if문과 같이 조건에 따라 어떤 것을 실행할지 결정하게 됩니다. 간단하게 문법 형태를 보고 가도록 하겠습니다. 위와 같이 작성해주면 되는데요. 변수 값에 따라서 실행하는 case문이 달라집니다. 한 번 예제를 보도록 하겠습니다. 우선 입력받을 변수 a를 선언해주었습니다. scanf_s를 통해 a라는 변수에 입력을 진행했습니다. switch(a)라는 것은 a값이 조건이 된다는 것을 의미하고 a의 값에 따라서 해당 case문을 실행하게 됩니다. 입력받은 변수에 따라서 그 값이 1일 경우 1번을 선택하셧습니다.가 출력되게 코드를 구성해놨습니다. 2번일 경우..
[C언어 독학하기] 11. while문 완전 정복, do~while문 안녕하세요. 취업한 공대누나입니다. 오늘은 반복문 중의 하나인 while문에 대해 완전 정복 해보도록 하겠습니다. 일반적으로는 반복을 수행하는 횟수가 미리 정해져 있지 않을 때 많이 사용합니다. 1. while문 while문의 기본 문법은 위와 같습니다. 되게 간단하지요? 조건이 성립하는 한 중괄호 안의 내용을 계속 반복하게 됩니다. 조건에 예를 들어 1이 들어가게 되면 무한으로 동작하게 됩니다. 간단한 예시를 보도록 하겠습니다. 우선 i라는 값을 0으로 초기화시켰습니다. 그리고 while문은 i가 5보다 작으면 반복하도록 했습니다. 그래서 오른쪽 사진과 같이 i값이 4까지 출력이 되었고 i가 5가 되면 while문 안의 내용은 더 이상 수행하지 않게 됩니다. while문과 같은 반복문에서 조건이 항상 ..
[C언어 독학하기] 10. for문 완전 정복 안녕하세요. 취업한 공대누나입니다. 오늘은 반복문 중에 하나인 for문에 대해 공부를 해보도록 하겠습니다. 1. for문 기본 문법 확인 for문 또한 조건이 참일 동안 계속 반복 수행을 하는 동작을 하게 됩니다. for문의 기본 형태는 아래와 같습니다. 초기값이 증감값에 따라서 변하면서 조건 값을 만족시킬 때까지 반복 수행을 지속하게 됩니다. 세미콜론(;)은 절대 뺴먹으면 안됩니다! 예제를 통해 감을 익혀보도록 하겠습니다. int형 변수 i를 선언을 해줬습니다. i의 초깃값은 0이 됩니다(i=0). 그리고 i를 하나씩 증가시키면서 (i++) for문 안의 printf문을 수행하게 되는데요. 언제까지 수행시키냐면 i가 10보다 작을 때까지 수행을 하게 됩니다. 그래서 결과값을 보시게 되면 i값이 10보다..

반응형