Pointer포인터는 일반 데이터를 저장하는 변수가 아닌 메모리의 주소 값을 저장하는 변수이다.포인터도 변수기 때문에 메모리 어딘가에 저장되기 때문에 포인터도 주소 값을 가지고 있다.포인터 연산자포인터 변수를 이용하면서 2가지의 연산자가 사용되는데, & 과 *이다.여기서 &는 주소 연산자이고 *은 참조 연산자이다. 🟣 주소 연산자 &는 변수 이름 앞에 사용하여 해당 변수의 메모리 주소 값을 반환한다.🟣 참조 연산자 *는 포인터의 이름이나 주소 앞에 사용하며 해당 주소를 참조하여 주소에 저장되어 있는 값을 반환한다.포인터 예제123456789101112131415#include stdio.h> int main(){ int a = 10; printf("a = %d\n", a); // a = ..
printfC/C++에서 넣어준 글자를 출력해주는 함수이다.기본 사용법- 헤더 파일 inclue하기- printf ("출력할 데이터와 그 서식", 변수 1, 변수 2... );printf() 서식 문자 정수형%d : 10진수 정수%x : 16진수 정수 (소문자)%X : 16진수 정수 (대문자) 실수형%f : 10진수 실수 (float형)%e : 10진수 실수 (지수형 표기)%lf : 10진수 실수 (double형) 문자열%s : 문자열 출력printf에서 사용하는 특수기호\' : 작은따옴표\" : 큰 따옴표\? : 물음표\\ : 백 슬래시(\)\n : 줄 바꿈, 개행, new line\t : 수평 탭 (tab)sizeof데이터(변수, 상수, 타입등..)의 크기를 반환하는 연산자.데이터 크기의 단위는 바..
#define-매크로-전처리기-단순 치환장점1. 가독성2. 유지보수사용법#define 매크로이름 치환할 값 #define NUMBERONE 1 ⚠️주의점⚠️단순 치환이기 때문에 세미콜론을 작성할 경우 세미콜론까지 치환해버린다예제11234567891011121314151617#define NUMBERONE 1#define NUMBERTWO 2 #include iostream>using namespace std; int main() { int num1 = NUMBERONE; int num2 = NUMBERTWO; cout num1 endl; cout num2 endl; return 0;} cs실행 결과예제21234567891011121314151617181920212..
[C, C++] 컴파일 순서Cpp(기계어로 번역) ➡️ 전처리기(#include 같이 #으로 시작하는 건) ➡️ 컴파일 ➡️ 어셈블링 - obj(목적) 파일 생성 ➡️ Linker ➡️ exe1. Preprocessor (전처리단계)매크로 프로세서(MacroProcess)라고 한다. C++언어로 작성된 프로그램의 소스를 문법적으로 해석하고 구문 에러(Syntax error)의 존재 여부 등 을 평가한다. 주석으로 되어있는 문장을 제거한다. #include, #define, #indef, #else, #endif, using, typedef 와 같은 키워드에 따라 필요한 파일들을 읽고 실제 컴파일이 가능하도록 프로그램 소스를 만드는 작업을 수행한다.2. Complie (컴파일)전처리 단계에서 제공한 프로그..
★KEYWORD★전송제어 프로토콜에서 통신을 하는 장치간에 서로 연결이 잘 되어있는지 확인하는 과정과 방식 / 송수신자 사이에 연락을 확인 / TCP3-Way Handshake전송제어 프로토콜(TCP)에서 통신을 하는 장치간 서로 연결이 잘 되어있는지 확인하는 과정/방식이다.더 쉽게 말해서 송수신자(데이터를 주고 받는 2사람이라고 생각하면 쉬울 것 같다)사이에 연결을 확인하는 과정이다. TCP 프로토콜은 연결지향적이다. 이는 상대방이 내 신호를 받을 수 있는지 확인하고 전송을 하는 것을 의미한다. 이때 내 신호를 받을 수 있는 지 확인하는 것이 3 way handshake이다. 3 way handshake는 client / server사이에서 이루어진다.3-Way Handshake의 과정 ➡️1단계클라이..
제네릭 클래스(Generic Class)클래스 내부의 멤버 변수의 데이터 타입을 일반화한 클래스이다.특정 타입에 국한되지 않고 모든 타입을 멤버 변수의 타입으로 설정할 수 있다. ➡️멤버 변수의 데이터 타입 때문에 여러 개의 클래스를 작성해야 하는 경우 한 개의 클래스로 구현할 수 있는 기법제네릭 선언1234public class GenericClassT>{ public T member { get; set; }}Colored by Color Scriptercs ⚠️ : 제네릭 클래스 멤버 변수의 데이터 유형을 표시하는 기호⚠️ 객체 생성1GenericClassint> genericObject = new GenericClassint>();cs제네릭의 장점제네릭 클래스는 타입 검사를 엄격하게 하기 때문..