728x90

Embedded/3. C, C#, Python 16

C - 헷갈리는 개념 정리

변수, 문자열 차이 C언어에서 문자열은 배열로 선언되었을 때 이미 메모리 주소를 가지고 있다. 이는 배열 이름 자체가 해당 배열의 첫번째 요소를 가리키는 포인터로 해석되기 대문이다. 때문에 문자열 입력 시 &를 문자열 변수에 붙이지 않는다. 반면에 변수는 메모리 주소가 아니라 값 그 자체를 의미하므로 입력을 받을 때 &를 붙여 해당 변수의 주소값을 전달해야 한다. 지역변수, 전역변수 지역 변수는 함수 내에서만 생성되고, 전역 변수는 프로그램이 처음 실행되면 메모리 공간에 할당되어서 프로그램이 종료될 때까지 메모리 공간에 남아있는 변수다. 함수 내에 static을 사용할 수 있는데 이는 지역변수의 특징과 전역변수의 특징을 함께 가지고 있다.함수 내에 static을 붙이게 되면1. 선언된 함수 내에서만 접근..

C# - 클래스

정적(Static)과 인스턴스(Instance) 자주 사용되는 내장 클래스 또 다른 exe 파일 실행하기 액세스 한정자 값 형식(Value Type)과 참조 형식(Reference Type) 박싱(Boxing)과 언박싱(Unboxing) 정적(Static)과 인스턴스(Instance) Static을 붙이면 객체 생성 필요없이 해당 클래스 내부에 있는 메서드를 사용할 수 있다. 그냥 Instance 메서드의 경우 해당 클래스의 객체를 생성한 뒤 해당 메서드를 사용해야 한다. static / instance 코드 예제 using System; class MyFirstClass { static void StaticMethod() => Console.WriteLine("[1] 정적 메서드"); void Inst..

C# - 구조체 / 열거형

구조체란? 기존의 변수와 배열은 하나의 이름으로 하나의 데이터 형식을 가지고 공간을 차지했다. 구조체란 변수와 배열을 확장하여 하나의 이름으로 여러 개의 데이터 형식을 한 개 또는 여러 개 보관하는 그릇 역할을 하는 것이 바로 구조체(struct)이다. 구조체 변수란 하나의 이름으로 하나 이상의 데이터 형식을 하나 보관해 놓는 그릇 역할이고, 구조체 배열은 하나의 이름으로 하나 이상의 데이터 형식을 여러 개 보관해 놓는 그릇 역할을 하는 것으로 볼 수 있다. 1. Data Type 정의 2. 해당 Type의 변수 선언 3. 해당 구조체 사용 구조체 선언 모양 struct 구조체명 { 데이터형식 변수1; 데이터형식 변수2; 데이터형식 변수3; } 구조체를 의미하는 struct 키워드를 사용하여 구조체를 만..

C# - 코드 작성 연습 (숫자 맞추기 게임)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace test { internal class Program { static int play = 0; static int win = 0; static int lose = 0; static void game() { Random rnd = new Random(); int rndNum = rnd.Next(1, 101); int cnt = 0; while (cnt < 10) { Console.WriteLine($"\n[숫자를 맞춰보세요]"); int answer = Convert.ToInt32(C..

C - 포인터, 이중포인터 Call-by-Value, Call-by-Reference

#define _CRT_SECURE_NO_WARNINGS #include int SquareByValue(int); int SquareByReference(int*); int main() { int num = 0; printf("정수를 입력하시오 : "); scanf("%d", &num); SquareByValue(num); printf("%d \n", num); SquareByReference(&num); printf("%d \n", num); return 0; } int SquareByValue(int num) { return num * num; } int SquareByReference(int *ptr) { int num = *ptr; *ptr = num * num; } - SquareByRefer..

728x90