CS 56

20240125 C# - Array

using System; class Program { // ref: Reference, 참조 함수 내부에서 외부의 값을 바꿈 안바꿔도 문제 없음 // 포인터: 주소를 저장하는 공간이 새로 생김 // Reference: 같은 변수에 이름이 하나 더 생김 intVal = _val // ref int _val로 받으면 그 변수는 참조해서 사용하겠다 /// /// 함수 위에 /// 치면 함수 설명을 적을 수 있다 /// 함수 위에 마우스 오버하면 보임 /// /// 매개변수 설명 함수에 넣은 값 설명을 볼 수 있음 private static void ChangeValue(ref int _val) { _val = 100; } // ref과 다르게 out은 함수 외부에서 들어온 변수의 값을 무조건 바꿔야 함(대입 ..

CS/C# 2024.01.25

20240124 C# - HelloWorld

using System; // Applicatoin // .NET Framework // CLR(Common Language RunTime) // VM(Virtual Machine) // OS // Hardwere namespace XR { internal class Hell { // Entry Point / Entry Function // Class Member Function(C++) // Method(클래스 내부 함수) // param: Parameter(매개변수) // args: Arguments (인자) public static void Main(string[] _args) { //main에 매개변수를 받을 수 있음. .exe 바로가기 만들어서 속성에서 이름 뒤에 턱스트를 넣으면 들어감 Syst..

CS/C# 2024.01.25

20240112 C - 자료구조 STACK

#include #include //Buffer 데이터를 모아두고 관리하는 공간#define BUF_MAX 10// 조건부 컴파일(Conditional Compile)//#define DEBUG_MODE // 정의되어 있다면 #ifdef DEBUG_MODE, #endif로 코드부분을 지정해두면 출력됨, 정의되어 있지 않다면 컴파일 할때 해당 부분은 제외됨// 컴파일러 상단의 Debug과 Release 모드의 차이// Debug 모드는 빌드할 때 디버깅을 위한 정보도 들어있음, Relese는 실행만을 위한 정봔 빌드됨, 용량차이가 큼// Debug 모드에서는 잘 돌아가도 Relese에서는 뻗는 경우 있음, 포폴 제출할 때는 Relese로 빌드해서 제출해야함//Push// *배열, *인덱스, 값. 외부에서 ..

CS/C 2024.01.12

20240111 C - Static(정적 변수)과 함수 포인터

static #include int g_cnt = 0; void StaticFunc() { int cnt = 0; printf("cnt: %d ", ++cnt); printf("g_cnt: %d ", ++g_cnt); // 정적변수(Static Variables) // 컴파일할 때 메모리에 올라감 static class도 객체를 만들기 전에 이미 메모리에 있기 때문에 접근이 가능하다 // 전역변수와 같이 프로그램이 종료될 때까지 유지되기 때문에 사용에 유의 static int s_cnt = 0; // 값은 유지되지만 지역 안에서만 접근이 가능하다 printf("s_cnt: %d\n", ++s_cnt); } int main() { for (int i = 0; i < 10; ++i) { StaticFunc(..

CS/C 2024.01.11

20240111 C - Bitwise(비트단위 연산)

#include typedef enum _EOptions { Clean = 0, //op_Clean 옵션용 Clean이라는 의미로 op_ 를 붙이기도 함 FullScreen = 1, Minimize = 2, ScrollH = 4, ScrollV = 8, BtnExit = 16, Menu = 32} EOptions;void ApplyOption(char* const _pOp, EOptions _applyOp) { // 옵션 켜기 (*_pOp) |= _applyOp; /* int i = 10; _pOp = &i; // 큰일남 // 그래서 char* const _pOp 해야함 char* const _pOp - _pOp의 주소 보호 const char* _pOp - _pOp의 값 보호 */}void OffOp..

CS/C 2024.01.11

20240111 C - Union(공용체)

#include union UMem{ char c; int i; double d; }; // 메모리 제일 큰 애 기준으로 그 공간 공유,.임시 변수 같은거 이렇게 씀. 엔진이나 os 같은 개발할때 메모리를 극한으로 아낄때 씀. 스위치도...아마................. // 너무 큰 타입으로 만들면 오히려 비효율적 int main() { //공용체(Union) union UMem mem; printf("mem Size: %d Byte\n", sizeof(mem)); mem.c = 'g'; printf("mem.c: %c (%p)\n", mem.c, &mem.c); mem.i = 23; printf("mem.i: %d (%p)\n", mem.i, &mem.i); mem.d = 3.14; printf(..

CS/C 2024.01.11
반응형