독학 8

3. 포인터와 배열

1. 배열의 이름의 사용법 - 배열의 이름은 첫번째 인자의 주소값에 대한 정보를 담고있다 --> 주소값을 담고있다 - 허나 배열의 이름은 다른 배열 혹은 변수를 가리킬 수 없다 --> 포인터의 상수적 형태를 띤다 - 따라서 scanf에서 배열이 다른 변수처럼 &를 사용하지 않아도 되는 이유가 변수는 &를 통해 주소값을 반환해야되지만, 배열의 이름은 그 자체로 주소값을 가지고 있으므로 &연산자가 필요없는 것이다. ※ 포인터변수와 배열의 이름은 변수와 상수라는 차이가 유일한 포인터변수와 배열의 차이점이다. - 메모리 접근 --> 둘 다 *연산을 통한 메모리 접근이 가능하다 --> 둘 다 []를 통해 배열처럼 접근도 가능하다 int arr[] = {1,2,3,4,5}; int* ptr = arr; ptr[3]..

C언어 2022.09.14

2. 포인터

2-1. 포인터란? - 변수나 여러가지 것들이 저장되어있는 메모리공간의 주소값을 저장해주는 단위이다. - 포인터는 변수형태와 상수형태 모두 존재한다. 이는 뒤에서 자세히 다루겠다 - 주소값은 그 주소값이 가리키고 있는 자료의 자료형과는 관계없이 항상 정수형이다.--> int의 주소값, float의 주소값, double의 주소값, char의 주소값...등등등 모두 다 정수 형태이다. 값만 다를 뿐이다. - 변수의 주소값은 변수의 자료형과 맞는 포인터 변수에 저장되어야 한다.--> int형 변수의 주소값은 int형 포인터 변수에, float형 변수의 주소값은 float형 포인터 변수에... 등등에 저장되어야 한다. 그럼 우리는 두 가지 질문이 생길 수 있다. 1. 주소값은 변수의 자료형과는 무관하게 무조건 ..

C언어 2022.09.14

1. 배열

1. 1차원 배열 1-1 배열이란?: - 변수들을 하나로 묶은 단위로, 다수의 변수를 선언하고 접근하기 위해 사용됨. - 배열은 단순히 변수들을 묶는 기능을 할 뿐만 아니라 다수의 변수들에 순차적인 선언과 순차적인 접근을 가능하게 해준다. 1-2 배열의 선언 및 접근 방법 1-2-1 기본형 int arr[5]; // 자료형 배열 이름[배열 길이]; arr = {1,2,3,4,5} // 배열 arr을 1,2,3,4,5값으로 초기화 1-2-2 선언과 동시에 초기화 가능 int arr[5] = {1,2,3,4,5}; 1-2-3 배열의 길이 생략 가능 --> 배열의 길이를 생략하면 컴파일러가 배열의 길이를 세서 자동으로 할당함 int arr[] = {1,2,3,4,5}; // 배열의 길이는 5로 할당됨 1-2-..

C언어 2022.09.14

계기

학교 공부를 따라가기 힘들어서 어디서부터 놓친건가 생각을 해봤더니 C언어를 배울 때 함수까지만 열심히 배우고 포인터부터는 머리아프다고 공부를 안해서 그랬던 것 같다. 그러다보니 학교 수업을 들어도 이해가 안되고 이해가 안되면 또 내 능력과는 별개로 학년만 올라가고 학점은 낮아지고... 이 과정이 반복될 것 같아서 군대 가기 전 한학기의 여유가 있었는데 휴학을 해버렸다. 휴학하고 나서 그 시간을 노는데 쓰지 않고 휴학한 이유를 이행하기 위해 쓰려고 노력중이다. 과외와 알바를 많이 늘려서 돈좀 모아두고 C언어부터 시작해서 C++, 자료구조까지 독학으로 공부해서 정리해놓고 군대갈 계획이다. 물론 혹자는 그래봤자 군대 갔다오면 다 까먹게 될 거 뭐하러 공부하냐 그럴 것이다. 틀린말도 아니지만 공부좀 해놓고 이렇..

C언어 2022.09.14

3. 관계형 데이터베이스

지난 포스팅에선 데이터 모델의 종류와 데이터베이스와 관련된 기타 용어들에 대하여 정리하였다. 이번 포스팅에선 관계형 데이터베이스에 대하여 자세히 정리하겠다. 저번 포스팅에 이어서 오늘 정리하는 데이터베이스 개념들은 개념에 대한 설명이 주어지고 그에 해당하는 단어를 쓸 수 있어야하는 단답형으로 출제되는 문제이기 때문에 개념에 대한 설명이 주어졌을 때 그 개념을 떠올릴 수 있을정도로 공부해야된다는 생각을 하면서 공부하길 바란다. 1. 관계형 데이터베이스와 구성 요소 1.1 관계형 데이터베이스 특징: ● 다른 데이터베이스로의 변환이 용이하다 ● 성능이 저하된다 1.2 구성 요소 이해를 돕기위해 하나의 표를 가져오겠다. ● 릴레이션: 개체(entity) 혹은 테이블(table)이라고도 부르며 여러가지 비슷한 류..

2. 데이터베이스-2

저번 포스팅에선 자료와 정보의 차이, 데이터베이스의 특징, 사용자, DBMS, 스키마 등에 대하여 정리해보았다. 이번 포스팅에선 데이터 모델의 종류와 데이터베이스와 관련된 기타 용어들에 대하여 정리하겠다. 저번 포스팅에 이어서 오늘 정리하는 데이터베이스 개념들은 개념에 대한 설명이 주어지고 그에 해당하는 단어를 쓸 수 있어야하는 단답형으로 출제되는 문제이기 때문에 개념에 대한 설명이 주어졌을 때 그 개념을 떠올릴 수 있을정도로 공부해야된다는 생각을 하면서 공부하길 바란다. 1. 데이터 모델 1.1 데이터 모델 정의: 현실세계를 데이터베이스에 표현하는 방법으로 구조, 연산, 제약조건으로 구성됨 1.2 종류: 1.2.1 개념적 모델링: 현실세계를 인간의 입장에서 이해하기 쉬운 정도로 추상화시키는 과정 1.2..

1. 데이터 베이스-1

공부를 시작하기 전에 공부를 하다보면 모르는 단어들이 나올 것이다. 허나 전부 다 뒤에 설명이 나오는 용어들이니 조급해하지말고 계속 공부하자 나는 학교공부를 하면서 C언어에 대한 학습을 어느정도 진행하여 C언어에 대한 부담이 거의 없었다. 또한 JAVA도 언어 구성이 비슷한 것 같아서 거의 안보고 시험을 봤다. 그래서 프로그래밍 언어에 대해서는 딱히 쓸게 없다 오늘 정리하는 데이터베이스 개념들은 개념에 대한 설명이 주어지고 그에 해당하는 단어를 쓸 수 있어야하는 단답형으로 출제되는 문제이기 때문에 개념에 대한 설명이 주어졌을 때 그 개념을 떠올릴 수 있을정도로 공부해야된다는 생각을 하면서 공부하길 바란다. 1. 데이터베이스의 개요 1.1 정보 & 자료 ◎ 자료: 데이터, 우리가 필요한 형태로 가공하기 이..

정보처리기능사 실기 공부 방법

정보처리 기능사 실기 평가 종목은 크게 프로그래밍 언어, DB/SQL, 네트워크/프로토콜, 운영체제, 애플리케이션으로 나눠진다. 나는 정보처리 기능사 시험 준비 기간을 넉넉하지 않게 잡았기 때문에 비교적 효율적인 공부 방법을 택했다. 시험 출제 방식이 바뀐 2020년도부터 출제된 문제들을 분석해본 결과 프로그래밍 언어에서 6-7문제, DB/SQL에서 3문제, 네트워크/프로토콜에서 3문제, 운영체제에서 3문제, 애플리케이션에서 1-2문제 정도 나왔기 때문에 애플리케이션 공부는 시간 남으면 하고, 아님 다른 과목들에 대한 공부를 충분히 하자 라는 전략으로 공부를 시작했다. - 프로그래밍 언어는 C언어와 JAVA의 소스들을 주고 해당 소스들에 대한 컴파일 결과를 물어본다. - DB/SQL은 DB의 종류, 특징..