1. 프로그래밍 기초 지식
- 프로그램 : 소스코드로 잘 짜여진 툴
- 소스코드 : 컴퓨터와 개발자가 소통한 명령어
💡 프로그램(소스코드)을 실행하면
- OS(운영체제)에 전달되어 운영체제가
- 하드웨어에 적절한 전기신호 보냄→ 결과가 나온 창을 콘솔창이라고 함
💡 C언어→ RAM을 최대한 아껴쓰고자 했던 언어
[배경] 오래 전에는 컴퓨터 용량이 작았다
- 즉, 하드웨어(메모리)를 직접 제어할 수 있는 강력한 언어
- 개발자를 믿는 언어(죽어! 하면 진짜 죽음)
- 보통은 웹 개발에 사용되고 모바일에는 사용 안하는 편
- cf. 모바일 개발도 가능은 하다. 하지만 애플리케이션이 잘못되면 폰도 망가질 수 있으므로 모바일 개발에는 잘 사용하지 않음
💡 컴파일러: 번역기, 사람의 언어를 컴퓨터 언어로 컴파일 해주는 것(예시: Visual Studio)
2. C언어 시작하기
- 컴파일러 : Visual Studio
- Ctrl + F5 : 컴파일 명령어 단축키
- Ctrl + K + C: 주석 / Ctrl +K +U : 주석해제
#include<stdio.h> //외부 또는 내부 파일을 현재 파일에 포함시킬 수 있는 명령어
//실행 파일(exe)를 만들어 주는 함수 : 안에 소스코드를 작성
void main(){
printf("Hello World");
}
1. 자료형(저장공간의 종류) : 정수형, 실수형, 문자형, 문자열
- 1byte : 정보 표현하기 위한 최소단위 (8bit: 정보 8개가 1byte)
- 운영체제 환경 32bit, 64bit 에 따라 사용할 수 있는 자료형이 달라진다( 나누기 8)
- 참고! sizeof(자료형) 함수로 변수 또는 자료형의 크기를 알 수 있다
자료형 | byte | 값 | |
정수형 | ★int | 4 | |
long | 4(32bit),8(64bit) | 3L,5L,… | |
실수형 | float | 4 | 3.0F,0.0F,… |
★double | 8 | ||
문자형 | char | 1 | 'a’,’A’,… |
문자열 | "” | ?? | “abc”, “ABC” |
: 더블 쿼테이션 |
★은 기본형을 의미한다
- 실수와 정수에서 기본형이 아닌 자료형 사용할 때
#include <stdio.h>
void main()
{
long i = 10L; // L을 붙인다
float f = 3.9F; // F를 붙인다
printf("")
}
2. RAM 이해하기
- 변수와 저장공간
💡 변수 ⇒ 저장공간 이러한 변수들은 RAM이라는 저장공간에 생성된다
- RAM의 영역
- OS Kernel Space : 드라이버가 할당되는 곳(예: 마우스 설치 시 자동 드라이브 설치)
- Stack : 지역변수, 매개변수
- Heap : 동적메모리
- BSS : 초기화되지 않은 전역변수
- Data 영역 : 전역변수, 정적변수(Static)
- Text: 상수, 코드
3. 변수 이해하기
💡 변수 선언 시 주의사항
- 같은 이름의 변수 선언 불가
- 초기화를 해야한다.
- 선언부에 한꺼번에 선언한다
💡 변수명 주의사항
- 문자부터 시작한다(숫자부터 시작 안됨)
- 특수문자 사용 불가 ( 언더바 _ 는 가능)
- 공백을 사용할 수 없다
- 되도록 소문자마 사용한다
- 명사로 사용한다
- 되도록 한글은 사용하지 않는다
cf. 카멜 표기법 : 공백 대신 대문자 사용 (예시) good boy → goodBoy
- 변수 선언 시, RAM의 활동
- int x = 0;
- x라는 이름의 저장공간이 RAM에 할당되고 고유한 값인 주소값이 부여된다.
- 저장공간이 RAM에 할당되면, 유일무이한 값이 주소값이 부여되고 변수명으로 검색하는 것보다 상대적으로 빠르다.
- int x = 0;
4. 서식문자
- 출력하기 printf의 f 의 의미
- 반드시 따옴표 안에서 작성한다
- %d : 정수(decimal, 10진수 정수) / %f : 실수(float) / %lf: 실수(double) / %c : 문자 / %s : string 문자열 / %x : hexadecimal(16진수 정수)
서식문자 | 자료형 |
%d | 정수(decimal, 10진수 정수) |
%f | 실수(float) |
%lf | 실수(double) |
%x | 16진수 정수(hexadecimal) |
%c | 문자 |
%s | 문자열 |
'Skill > C,C#,C++' 카테고리의 다른 글
2차원배열 (0) | 2023.02.10 |
---|---|
문자열 (0) | 2023.02.10 |
포인터 및 기본 배열 (0) | 2023.02.10 |
제어문 : 조건문, 분기문,반복문 (0) | 2023.02.07 |
연산자 우선순위와 비트연산 (0) | 2023.02.07 |