Programming

728x90
반응형
⛔ C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Visual Studio에서는 보안상의 허점 방지를 위해 scanf 대신 scanf_s를 사용하는 것을 권장하고 있다. 해당 에러를 무시하고 컴파일 하려면 선행처리기 #pragma warning(disable: 4996)을 선언해주면 된다. #include #pragma warning(disable:4996)
· Programming
Visual Studio Code에서 HTML을 사용할 때 한글을 사용해야 하는 경우가 있어서 한글에만 나오는 노란 네모 박스를 옵션에서 껴줬다. 좌측 하단 톱니바퀴 아이콘을 눌러서 Settings에 들어간다. highlight를 검색해서 Editor > Unicode Highlight: Non Basic ASCII를 inUntrustedWorkspace에서 false로 바꿔준다. 따로 저장해줄 필요 없고 Setting는 닫아도 된다. 삭제가 된 모습.
선행처리기 종류 #include // 파일 포함 #define // 매크로 상수, 함수 정의 - 단순 치환 자료 // 조건부 컴파일 #if #else #elif #endif #define 예시 (상수) #include #define ADDR "서울시 강남구 역삼동" #define TEL "02-1234-1234" void main() { printf("주소: %s\n", ADDR); printf("전화번호: %s\n", TEL); } #define 예시 (함수) // #define 예시 (함수) // #define 매크로명(인수) (수식) // #define 매크로명(인수, 인수) (수식) // #define AREA(x) (3.141592*(x)*(x)) // #define HAP(a, b) (a+b)..
#include void main() { int i, sum; // 변수 i, sum 선언 for (i = 1; i
#include // 변수를 함수 외부에 선언한 예 int num; // 전역 변수로 선언, 프로그램 어디서나 사용 가능 void main() { ... } sub() { ... } // 변수를 함수 내부에 선언한 예 void main() { int i; // 지역변수로 선언, main 함수 내에서만 사용 가능 ... } sub1() { int i, j; // sub1 함수 내에서만 사용 가능, main 함수 내의 변수 i와는 별개 } int a = 100; void func() { int a = 200; printf("func()에서 a의 값 ==> %d \n", a); } int main() { printf("main()에서 a의 값 ==> %d \n", a); func(); }
#include // 표현 범위를 벗어나는 예시 void main() { short int num1, num2; num1 = 32767 + 1; num2 = -32768 - 1; printf("num1=%d\n", num1); printf("num2=%d\n", num2); } #include void main() { int num1, num2; num1 = 32767 + 1; num2 = -32768 - 1; printf("num1=%d\n", num1); printf("num2=%d\n", num2); }
#include // 열거형의 사용 예 void main() { enum day1 {SUN, MON, TUE, WED, THU, FRI, SAT} d1; enum day2 {sun=2, mon, tue, wed, the, fri, sat } d2; d1 = WED; d2 = wed; printf("열거형 d1 저장된 값은 %d 입니다.\n", d1); printf("열거형 d2 저장된 값은 %d 입니다.\n", d2); }
#include // 문자형의 사용 예 void main() { char ch; int in; ch = in = 'A'; printf("ch = %d\n", ch); // 65 printf("in = %d\n", in); // 65 ch = in = 100; printf("\n ch = %c\n", ch); // d printf("in = %c\n", in); // d }
#include // 변수(variable) - 변하는 수 // 상수(constant) - 항상 같은 수 // 계수(coefficient) - 변수에 붙어있는 상수인 인수 // 2x + 3 2계수 x변수 3상수 // 변수(variable)의 사용 예 void main() { int a, b; a = 100; b = 50; printf("a=%d,b=%d\n", a, b); }
#include void main() { printf("hello C 프로그래밍 \n"); }
식별자(identifier) 변수, 상수, 함수, 사용자 정의 타입 등에서 다른 것들과 구분하기 위해서 사용되는 변수, 상수, 함수, 사용자 정의 타입의 이름 등 '이름'을 일반화 해서 지칭하는 용어. 규칙 1. 영문 대소문자, 숫자, 언더바(_)만 사용할 수 있다. 숫자로 시작될 수 없음. 2. 명령어를 식별자로 사용할 수 없다. 주의) 언더바(_)로 시작되는 이름들은 주로 C언어 자체나, 운영체제에서 제공되는 하위 기능의 이름으로 사용되는 경우가 아주 많다. '언더바로 시작되는 식별자는 시스템에서 사용하는 식별자'라는 것이 표준은 아니지만 가능하면 밑줄로 시작되는 식별자를 사용하지 않는 것이 좋음. 4. Visual Stdio 2015 이상 버전에서 달러($)를 사용할 수 있다. 문장의 어떤 위치든지..
· Programming
한 프로젝트 안에서 소스 파일을 여러 개 만들어서 코드를 작성하다 보면 '여러 번 정의된 기호가 있습니다.'라는 오류가 나오면서 정상적으로 디버그가 되지 않는데 아래의 방법으로 불필요한 소스 파일을 빌드에서 제외시켜서 해결할 수 있습니다. 소스 파일을 우클릭하고 속성으로 들어가서 빌드에서 제외 옵션을 체크해주면 됩니다. (소스 파일 다중 선택 가능)
Object 객체 객체 - class로부터 만들어진 자료, class에 정의 되어있는 모든 멤버 변수를 정의할 수 있음 int float등은 값만 가지지만, 객체는 멤버 변수 외에 class에 정의 되어있는 메소드를 함께 실행할 수도 있음 (데이터와 기능을 함께 가질 수 있음) 1. Character 정의 2. player enemy 객체 만들기 3. 멤버 변수에 값 설정하기 .name .hp .damage 4. 객체들이 가지고 있는 기능 이용하기 TakeDamage 다른 방법 class를 만들고 class에 생성자를 정의해서 값을 바로 초기화 이 class로부터 player enemy boss라는 객체를 만들어서 기능 사용 Character에 값을 전달해서 사용자 정의 생성자를 호출할 수도 있고 그냥 ..
Class 클래스 클래스 - 관련있는 기능 데이터 하나로 묶어서 관리할 수 있는 것 연관된 자료들, 연관된 데이터들 그리고 그 데이터를 가지고 할 수 있는 어떤 동작, 기능을 묶어둔 것 public class Character { // 먼저 멤버 변수 정의 // 동작 메소드는 클래스 밑에다 정의 // 공통적인 정보 name hp damage - 멤버 변수 // this.변수 - 여기에 있는 값 사용하겠다 public string name; // 멤버 변수 public int hp; // 멤버 변수 public int damage; // 멤버 변수 public void TakeDamage(int damage) { // 전달 값이 있으면 외부에서 전달받은 값 사용(damage) this.hp -= damag..
Method 메소드 메소드 - 어떤 코드가 실행되는 전체 영역 (void Start, void Update 등) void 메소드이름() {} 쓰는 이유 하나의 영역 내에서 코드를 계속 작성하면 보기 힘듦 비슷한 동작 하는 코드 비슷하게 호출하는 식으로 사용 void - 아무것도 없다 비어있다 메소드이름 - 대문자로 시작하는 영어 단어 조합 코드 public class _13_Method : MonoBehaviour { void StartGame() { Debug.Log("Game Start"); } void EnemyTakeDamage(string name){ Debug.Log(name + " takes damage."); } void PlayerTakeDamage(string name, int hp, ..
Access Modifier 접근제한자 Access Modifier 접근제한자에는 private, public 두 가지가 있다. private은 Inspector에서 값을 수정할 수 없고, public은 Inspector에서 값을 수정할 수 있다. 다음과 같이 사용한다. private int damage = 10; public int damage = 10; int damage = 10; // 적지 않으면 기본 값은 private이다. 코드 public class _12_AccessModifier : MonoBehaviour { // private int damage = 10; // 인스펙터에서 수정 불가 public int damage = 10; // 인스펙터에서 수정 가능 // int damage = ..
Array 배열 변수는 하나의 데이터를 저장하기 위한 공간이다. 배열을 사용해 똑같은 형태의 데이터를 여러 개 관리할 수 있다. int enemy1 = 10; int enemy2 = 20; int enemy3 = 30; Debug.Log(enemy1); Debug.Log(enemy2); Debug.Log(enemy3); 이러한 형태로 사용하는 것을 int[] enemies = {10, 20, 30}; Debug.Log(enemies[0]); // 0 Debug.Log(enemies[1]); // 20 Debug.Log(enemies[2]); // 30 이렇게 줄여서 사용할 수 있으며 반복문을 사용해서 아래처럼 사용할 수도 있다. 자료형[] 변수 = new 자료형[개수]; string[] character..
Continue / Break 반복문 흐름제어 반복문 흐름을 제어하는 방법은 Continue, Break 두가지가 있다. 반복문 for 이 실행될 때, 아래와 같이 if (i == 3) {continue;} 코드를 추가하면 i가 3이 됐을때 실행 구문을 건너뛰고 다음 회차로 넘어가며 if (i == 3) {Debug.Log("Boss is dead."); break;} 코드를 추가하면 i가 3이 됐을때 실행을 중단할 수 있다. for (int i = 1; i
Loop 반복문 반복문은 for, while, foreach 3가지가 있다. for은 선언; 조건; 산술;로 아래와 같은 형태로 사용한다. for (int i = 0; i < 5; i++) { coin += 1; Debug.Log("coin : " + coin); } 선언을 해놓고 어떤걸 기준으로 반복을 할 지 결정하고 참일 경우 반복하다가 거짓일 경우 빠져나온다. (횟수O) while은 조건이 참인 동안 계속해서 반복한다. (횟수X) foreach는 나중에 배열에서 제대로 사용할 때 정리. 코드 public class _09_Loop : MonoBehaviour { // Start is called before the first frame update void Start() { int coin = 0;..
If 분기문 분기문은 if, else if, else 3가지가 있다. 아래와 같이 사용한다. if 만약 (조건) {조건이 참일 경우 실행} else if (또 다른 조건) {또 다른 조건이 참일 경우 실행} else {전부 거짓일 경우 실행} if (coin >= item1) { Debug.Log("Item 1 purchased."); coin -= item1; } else if (coin >= item2) { Debug.Log("Item 2 purchased."); coin -= item2; } else { Debug.Log("Not enough coin."); 코드 public class _08_If : MonoBehaviour { // Start is called before the first fr..
String 문자열 String을 사용해 문자열 변수를 선언하고, 변수를 조합해서 문자를 출력할 수 있다. s1.Length // 글자 길이 s1.ToLower() // 소문자 변경 s1.ToUpper() // 대문자 변경 s1.IndexOf("m") // 0부터 몇번째인지 s1[2] // 2번째 인덱스에 해당하는 값 s1.Substring(2) // 글자 일부 삭제 // 문자열 비교 s1 == "Player" // True s2 == "Enemy" // False s2.Contains("Enemy") // True s3.StartsWith("En") // True s1.EndsWith("er") // True // 특수 문자 "Game\nOver" // new line 줄바꿈 \n "Game\t\t\t..
Operator 연산자 산술 연산자 + - * / (int로 / 사용시 소수점 이하는 버림) 1이 더해지는 결과가 나오는 코드 num = num + 1; num += 1; num++; 1이 빠지는 결과가 나오는 코드 num = num - 1; num -= 1; num--; compare 비교 연산자 >, =, 5; Debug.Log(compare); // True Debug.Log(10 = 5); // True Debug.Log(10
TypeCasting 형변환자 형변환자 - 서로 다른 자료형으로 바꾸는 것 (정수 실수 문자열로 각각) // 정수형 -> 실수형 // int to double double time_d = (double) time; // 실수형 -> 정수형 // double to int time = (int) time_d; // int는 소수점 버려짐 // 정수형, 실수형 -> 문자열 // int, double to string string time_str = time.ToString(); Debug.Log(time_str); // "8" string time_d_str = time_d.ToString(); Debug.Log(time_d_str); // "8.9" // 문자열 -> 정수형, 실수형 // string to ..
주석 주석 = 메모 = 무시 = 테스트할 때 코드를 임시로 막아둘 수도 있다. // 주석 /* 전체 코드 주석 */ 코드 public class _04_Comment : MonoBehaviour { // Start is called before the first frame update void Start() // 주석 = 메모 = 무시 = 테스트할 때 코드 임시로 막아둘 수도 있음 { Debug.Log("Three"); Debug.Log("Two"); Debug.Log("One"); Debug.Log("Start"); // Game Start? or Start? // Debug.Log("Go"); /* 전체 코드 주석 Debug.Log("Ready"); Debug.Log("Go"); */ } // Upd..
Variable 변수 변수 - 자료형 값들 저장하기 위한 공간 int 정수 float 실수 숫자끝에 f 붙여야 함, 소수점 몇 자리 안될 때, 선언하고 바로 값 넣기 double 같은 실수인데 광범위, 정밀도 높은 데이터 저장, f 필요 없음 string 문자열 char 문자 (캐릭터) bool Boolean true false 참 거짓에 사용 서로 다른 자료형에 대해서 변수를 만들고 그 변수에 값을 집어넣어서 출력하고 또 변수 값을 업데이트 해서 출력 변수명 규칙 - 언더바 영문자 시작 가능 숫자로 시작 안됨, 숫자가 들어가는건 가능, 띄어쓰기 들어가는거 불가, 영문자로 지으면 됨 코드 public class _03_Variable : MonoBehaviour { // Start is called be..
DataTypes 자료형 정수 1, 10, -20 실수 0.1, 3.141592, -10.24 문자열 "Text is Text.", "123" 문자 'A', 'C' Boolean true, false 코드 public class _02_DataTypes : MonoBehaviour { // Start is called before the first frame update void Start() { Debug.Log(1); // 정수 Debug.Log(10); Debug.Log(-20); Debug.Log(0.1); // 실수 Debug.Log(3.141592); Debug.Log(-10.24); Debug.Log("Text is Text."); // 문자열 Debug.Log("123"); Debug.Lo..
public class Practice : MonoBehaviour { // Start is called before the first frame update void Start() { Debug.Log("Normal"); Debug.LogWarning("Warning"); Debug.LogError("Error"); for (int i = 0; i < 100; i++){ Debug.Log("Same Log"); // 같은 로그 모아보려면 Console에서 Collapse } } // Update is called once per frame void Update() { } }
728x90
반응형
gameuiux
'Programming' 카테고리의 글 목록 (3 Page)