~2024.1067 [c언어/개인 프로젝트] PC to PC 시리얼 통신 프로그램(2) 보호되어 있는 글 입니다. 2024. 2. 25. [c언어] scanf로 변수 초기화를 하면 안 되는 이유 01. 에러 내용 int num = scanf("%d", &num); printf("%d\n", num); 코드를 간결하게 작성하고 싶은 마음에 상기와 같은 코드를 작성했다. 하지만 위 코드는 잘못된 코드인데, 과연 어느 부분에서 어떤 종류의 에러가 발생할까? 처음 C언어를 배우거나 C언어에 대한 이해가 깊지 않다면, 위 코드의 오류를 한 번에 찾아내기 쉽지 않을 것이다. 정답은 논리적 오류이다. 위 코드는 컴파일 시점이나 런타임 시점에 에러를 발생시키지 않는다. 다만, 프로그래머의 의도와 다른 결과(값)를 저장하여 예상치 못한 동작이 발생하는 논리적인 오류가 발생하는 것이다. 예를 들어, num에 정수 10을 저장하기 위해 10을 입력했더라도 num에는 1이라는 정수가 저장된다. 그 이유를 설명하도록 .. 2024. 2. 25. [c언어] ₩(백슬래쉬)를 문자열에 포함시키는 방법 01. ₩ (백슬래쉬) 간단 설명 C언어에서 ₩ (백슬래쉬)는 특별한 의미를 갖는 "이스케이프 문자"이다. 이스케이프 문자란 일반 문자열에 사용할 수 없는 "특수 문자"나 "명령"을 표현하기 위해 사용된다. 따라서, 백슬래쉬 자체를 문자열에 포함시키려면 특별한 방법을 사용해야 한다. 02. 문자열에 ₩를 포함하는 방법 printf("\\"); 위 코드처럼 입력하면, ₩(백슬래쉬)가 하나만 출력된다. '₩'를 두 번 입력하면, 두 번째 '₩'는 이스케이프 문자로써의 기능이 무력화되고, 컴파일러는 '₩'가 리터럴 문자로인식하게 되어, '₩'를 출력할 수 있는 것이다. 예를 들어 아래의 코드는 "\\.\"라는 의미이다. swprintf(port, 20, L"\\\\.\\COM%d", portNum); (최근 .. 2024. 2. 25. [c언어/개인 프로젝트] PC to PC 시리얼 통신 프로그램 보호되어 있는 글 입니다. 2024. 2. 25. 등비/등차 수열을 매개변수로 받아 다음 값 예측하기 보호되어 있는 글 입니다. 2024. 2. 24. [자바] 데이터 타입을 반환하는 메소드 구현 01. 서론 글을 작성하기 전까지 파이썬의 type() 함수와 유사한 기능을 하는 메소드를 자바로 구현하고자 했다. 그런데 코드를 작성하고 글쓰기를 누른 순간 자바는 정적 타입 언어라 변수의 데이터 타입이 컴파일 시점에서 결정되고 명시된다는 사실이 떠올랐다. 즉, 활용성 없는 코드를 작성한 것이다. 02. 코드 public class TypeReturn { public static Class typeof(final int expr){ return Integer.TYPE; } public static Class typeof(final long expr) { return Long.TYPE; } public static Class typeof(final float expr) { return Float.TYPE.. 2024. 2. 24. 이전 1 ··· 6 7 8 9 10 11 12 다음