1월, 2026의 게시물 표시

C언어 자료형 확인 방법 | sizeof 함수 사용하기

이미지
. #include <stdio.h> /* 프로그램 시작 */ int main(void) { printf("\n----- Start 08 - sizeof function \n"); printf("\n"); char _char = 10; printf("data-type : %s, type-size = %zu byte, value-size = %zu byte\n", "char", sizeof(char), sizeof(_char)); printf("\n"); short _short = 10; printf("data-type : %s, type-size = %zu byte, value-size = %zu byte\n", "short", sizeof(short), sizeof(_short)); printf("\n"); int _int = 10; printf("data-type : %s, type-size = %zu byte, value-size = %zu byte\n", "int", sizeof(int), sizeof(_int)); printf("\n"); long long _long_long = 10; printf("data-type : %s, type-size = %zu byte, value-size = %zu byte\n", "long long", sizeof(long long), sizeof(_long_long)); printf("\n----- End \n"); /* 정상 종료 */ return 0; } . C언어 / sizeof 함수 사용 결과 .

C언어 정수형 숫자의 뺄셈 방법 | A - B = Result

이미지
. #include <stdio.h> /* 함수 선언 */ void Call_Number_In_Subtraction(void); /* 프로그램 시작 */ int main(void) { printf("\n----- Start 10 - Number In Subtraction \n\n"); Call_Number_In_Subtraction(); printf("\n"); printf("\n----- End \n"); /* 정상 종료 */ return 0; } void Call_Number_In_Subtraction(void) { int number_1; int number_2; int number_result; printf("1번째 숫자 입력 : \n"); printf("=> "); scanf_s("%i", &number_1); printf("2번째 숫자 입력 : \n"); printf("=> "); scanf_s("%i", &number_2); number_result = number_1 - number_2; printf("\n뺄셈 결과 : %i - %i = %i", number_1, number_2, number_result); } . 정수형 숫자 뺄셈 결과 .

C언어 정수형 숫자 입력과 출력하기 방법

이미지
C언어에서 숫자를 입력받을 때 scan_f 함수를 사용할 수 있다. printf 함수를 사용하여 출력할 수 있다. 그리고, printf 함수에서 숫자를 출력하기 위해 형식 지정자인 %i 또는 %d를 사용할 수 있다. 여기서는 %i를 사용할 것이며, %d를 사용해도 상관없다. 1. 정수형 숫자의 처리 / 입력 scanf_s / 출력 printf / 형식 지정 %i 또는 %d . #include <stdio.h> /* 함수 선언 */ void Call_Integer_In_Out(void); /* 프로그램 시작 */ int main(void) { printf("\n----- Start 09 - Integer In and Out \n\n"); Call_Integer_In_Out(); printf("\n"); printf("\n----- End \n"); /* 정상 종료 */ return 0; } void Call_Integer_In_Out(void) { int _number; printf("정수를 입력 : \n"); printf("=> "); scanf_s("%i", &_number); printf("\n입력된 숫자 정수 : %i", _number); return 0; } . C언어 숫자 입력과 출력 결과 화면 .

C언어 문자열 입력 fgets 사용 방법 | 공백포함 문자열의 입력과 출력하기

이미지
C언어에서 문자열을 입력하는 방법으로 fgets 함수를 사용할 수 있다. fgets 함수는 scanf 함수와는 다르게 공백을 포함할 수 있다. scanf 함수는 문자열의 공백이 있는 부분 직전까지 입력을 할 수 있지만, fgets 함수의 경우 공백이 포함된 문자열 전체를 읽는다. 함수 사용 방법 예제 코드 결과 보기 #include <stdio.h> /* 함수 선언 */ void Call_Fgets_S(void); /* 프로그램 시작 */ int main(void) { printf("\n----- Start 07-Fgets function \n\n"); /* 프로그램 종료 */ Call_Fgets_S(); printf("\n----- End \n\n"); /* 정상 종료 */ return 0; } void Call_Fgets_S(void) { char str[100]; printf("너의 이름은~? 君の名は~? \n"); printf("=> "); fgets(str, sizeof(str), stdin); printf("입력된 문자열: %s", str); return 0; } . C언어 fgets 함수 사용 결과 .

C언어 scanf_s 함수 사용 방법 | 안전한 문자열 입력 처리

이미지
C언어 입력 함수 때문에 경고 메시지나 오류를 해결하려고 고민할 필요는 없다. scanf를 계속 사용하는 것보다, 입력 크기를 명확히 관리하는 scanf_s를 사용하면 해결할 수 있다. scanf_s는 단순한 대체 함수가 아니라, 안전한 입력 처리를 전제로 만들어진 함수이다. C언어 scamf_s 함수 사용 1. scanf_s 함수란? scanf_s는 scanf와 동일한 역할을 하지만, 입력 크기를 강제하는 보안 강화 함수이다. 즉, 입력 과정에서 발생할 수 있는 버퍼 오버플로우를 원천적으로 차단한다. 2. scanf_s와 scanf의 차이점 두 함수의 기능은 같다. 문자열 텍스트를 입력받는 후 화면에 출력한다. scanf_s 함수는 C언어에서 안전한 입력 처리를 위해 사용된다. scanf 함수는 입력 크기를 제한하지 않기에 보안과 메모리 문제가 발생할 수 있는 반면, scanf_s 함수는 문자열 입력 시 반드시 버퍼 크기를 명시하는 것이 차이점이다. Visual Studio 환경에서는 보안 강화를 위해 scanf 대신 scanf_s 사용을 권장한다. 3. scanf_s 문자열 입력 규칙 scanf 함수를 사용해 문자열 입력 시에는 반드시 버퍼 크기를 함께 전달해야 한다. 그렇지 않은 경우, 컴파일 오류 또는 런타임 오류가 발생한다. 핵심 원칙은 입력 받을 수 있는 최대 크기를 명확히 지정하면 된다. scanf_s( 형식 문자열 , 입력 변수 , 버퍼 크기); 4. Visual Studio에서 scanf_s를 권장하는 이유 굳이, 개발 환경의 경고를 무시하면서 개발할 필요는 없지만, Visual Studio가 scanf_s 함수를 권장하는 이유는 보안 취약점이 발견되었기 때문이다. scanf 함수를 사용하여 잠재적 메모리 침범( buffer-overflow)을 사전에 방지할 수 있다. 실무 및 학습 환경에서 입력 안정성을 확보하려면 scanf_s 함수 사용이 적합하다. 5. scanf_s 사용 시 자주 발생하는 오류 입력 함수의 대부분은 문자열 크기 인자를 전...

C언어 주석 종류 - 한줄 // 여러줄 /* ~ */

이미지
C언어에서 주석을 작성하는 방법은 2가지가 있다. `//`을 사용하여 한 줄로 코드를 설명하고, `/* ~ */`을 사용하여 여러 줄로 코드를 설명할 수 있다. 주석을 작성하는 이유는 코드의 목적, 동작, 목적 등 다양하며, 유지보수를 위한 필수적인 설명을 작성하기 위함이다. 개발을 하는 사람들에게 코드를 잘 작성하는 것도 중요하지만, 주석을 잘 작성하는 것 또한 중요하다. `예술적인 코드 작성보다 주석 한 문장 잘 작성한 것이 더 낫다`라는 얘기가 가끔 나오는 이유이기도 하다. C언어 주석 종류 - 한줄 // 여러줄 /* ~ */ 1.뜻과 의미 C언어에서 `주석`은 프로그램 실행과는 무관하게 코드의 의도와 동작을 설명하기 위해 작성하는 설명문이다. 컴파일러는 주석을 무시하며 실행 결과에는 영향을 주지 않는다. 다만, 개발자와 다른 협업자에 코드의 구조와 목적을 전달하는 역할을 한다. 주석은 영어로는 Comment, 한자로는 註釋 ( 註 글 뜻 주, 釋 풀다 석 ) 으로 `글로 풀어 의미를 전달하다` 정도로 볼 수 있다. 주석 영어: Comment / 논평, 언급 한자: 註釋 ( 註 글 뜻 주, 釋 풀다 석 ) / 글로 풀다 2.주석 꼭 필요할까 주석의 의미는 코드를 설명하는 간단한 설명을 작성하는 부분이다. 변수의 용도, 함수의 목적, 파라미터와 결과 등을 간단히 작성하고, 추후 유지보수와 코드의 수정시 참고하도록 하고 있다. 난이도가 있는 프로젝트의 경우, 주석을 규격화하여 필시 작성하도록 하는 곳들도 있다. 다른 사람이 작업을 이어 받았을 경우 시간을 줄이고, 코드의 목적을 명확하게 위함이다. 자세하게 작성할 필요는 없지만, 만약, 주석이 필요한 경우 작성할 꼭 작성할 몇 가지가 있다. /** * name: * object: * parameter: * return: */ 위의 내용은 거의 비슷하게 들어가며 IDE 같은 개발툴의 함수 또는 메서드에 마우스를 올리면 간단히 볼 수 있는 것들이다. 위의 주석 내용에 대한 내용은 아래를 참고한다. nam...

C# WinUI 3 - 계산기 만들기 - 개발부터 배포까지 - 마이크로소프트 스토어

이미지
마이크로소프트 스토어는 개발한 윈도우 앱을 배포하고 판매할 수 있는 곳이다. 여기서는 시리즈로 해당 과정을 포스팅을 이어갈 것이며, 언어는 C#을 사용하고, UI는 WinUI 3를 사용할 것이다. 제작할 앱은 계산기가 될 것이다. MVP로 하기에도 간단한 것이지만, 일단 뼈대가 있다면 확장이 가능할 것이다. 마지막으로 마이크로소프트 스토어에 배포를 할 것이며, 가능하다면 광고 배너까지 추가하여 다시 배포를 이어갈 것이다. 단, 여기서 고려해 볼 것이 있는데, 광고 배너의 경우 구글 또는 애플과는 다르게 편의성이 많이 부족하다. C# WinUI 3로 계산기 앱을 설계하고 UI 구성, 이벤트 처리, 패키징, MS Store 배포까지 전 과정을 단계별로 정리한 실전 개발 가이드이다. 누구나 따라 할 수 있도록 소스 코드 예제와 빌드, 설치 파일 생성 방법을 공유해 본다. C# WinUI 3 - 계산기 만들기 - 개발부터 배포까지 - 마이크로소프트 스토어 1. C# WinUI 3 - 계산기 만들기 - 개발부터 배포까지 - 마이크로소프트 스토어 일단 시작을 해보자. 과정의 시작은 쉽지만, 끝을 보기 까지는 오래걸린다. ( 포스팅 때문에, 하지만 코드는 이미 완성된 상태이다. ) 마이크로소프트 스토어라는 곳에서 어떻게 무엇을 해야 할지 모르겟지만, 순서는 간단하다. 만들고, 테스트하고, 배포한다. 하지만, 이런 일련의 과정이 쉽지는 않다. ( 번거로울 뿐이다. ) 하나씩 진행해 보도록 하자. 전체적인 내용은 다음과 같다. 2.진행 목표 본격적으로 시작하기 전에 목표를 정해보자. 시리즈로 진행하는 만큼 나름 시간이 들어갈 것 같다. ( AI는 이럴 때 사용하라고 있는 것이다. 더욱이 한 달에 지출되는 책값을 많이 줄였다.) 목표는 `간단한 윈도우용 계산기 앱을 만들고, 마이크로소프트 스토어에 배포하는 것`이다. 최근 새로 출시한 비주얼스튜디오 2026 버전을 사용하여 프로젝트를 진행한다. WinUI3 + C# 코드를 사용하여 앱을 만들고, 테스트를 진행한다. 다운로드 형태...

C언어 return 과 exit 차이 / 부분 또는 전체 종료

이미지
C언어의 코드를 보면 return 과 exit 함수를 보게 된다. 이 중 가장 많이 보는 것은 return 이겠지만, 가끔 exit 도 볼 수 있다. return 과 exit 의 공통점은 프로그램 종료에 있다. 다만, 부분 종료인가? 전체 종료? 하는 시점의 차이가 있다. 결론부터 언급하면, return 은 현재 프로그램의 흐름을 종료하는 것이며, exit 는 현재 프로그램 그 자체를 종료하는 것이다. C언어 return 과 exit 차이 / 부분 또는 전체 종료 1.프로그램의 종료 목적 프로그램이 종료되는 이유가 뭘까? 여러가지가 있겠지만, 보통 정상 종료와 비정상 종료가 있을 것이다. 상황별로 여러가지가 있겠지만, 비정상적인 상황이 된다면 프로그램은 그 상태 그대로 멈추는 경우도 있다. 사용자가 강제 종료할 수 있겠지만, 키보드나 마우스 등의 입력이 안될 수도 있다. 최소한의 이런 문제를 해소하는 것이 프로그램 종료의 목적이 될 것이다. 종료는 프로그램 흐름의 단순 종료일 수도 있고, 프로그램 자체의 종료가 있을 것이다. 프로그램 흐름 종료의 목적은 현재 실행 중 인 프로그램의 전체적인 기능 동작에 문제가 없도록 하는데 있고, 프로그램 자체 종료의 목적은 오류 또는 버그로 인한 사용자 불편을 방지하는데 있다. 상황은 여러가지가 있다. 프로그램의 종료는 사용자가 컴퓨터를 사용함에 있어 불편함을 해소하는데 있다. 2.return 과 exit() C언어를 공부하면 `종료`라는 중요한 개념을 공부하게 된다. 프로그램의 흐름에 대한 종료와 프로그램 그 자체의 종료가 있다. 종료라는 것은 특정한 조건 또는 사용자의 의도에 따라 실행 중인 상태를 중단시킴으로써 프로그램의 동작에 영향이 가지 않도록 하는 목적에 있다. 여기서 나오는 것이 return과 exit()이다. 이 둘의 공통점은 중단 또는 종료라는 것에서 개념은 같지만, return 은 호출이 된 함수 또는 메서드의 흐름을 중단 혹은 종료하는 것이며, exit()는 호출 여부에 상관없이 현재 실행 중인 프로그램 ...

챗지피티 코덱스와 깃허브 연동 방법 | VSCode 사용하기

이미지
챗지피티의 코덱스( Codex )와 깃허브( Github )를 연결하려고 했지만, 연결이 되지 않아 VSCode에서 직접 연결을 하였다. VSCode에 깃허브를 직접 연결하니 오히려 더 좋은 느낌이다. 코덱스에 프롬프트를 실행하면 자동으로 파일을 만들고 나는 그저 깃허브에 저장소를 만들고 푸시( Push )만 하면 된다. 오히려, 챗지피티 코덱스 페이지에서 연결이 제대로 되지 않은 것이 다행(??)이란 느낌이다. 새로운 것을 시도해 보고, 좀 더 편한 방법을 찾았기 때문이다. 왜 연결이 되지 않는 거냐 ?? 좀 편하게 작업하려고 코덱스( Codex )에 깃허브( Github )를 연결하고자 했다. 인증까지 하고, 윈도우 자동 인증까지 삭제하고 다시 했음에도 연결이 되지 않았다. 아~ 뭐지 ? 찾아보니 버그라고 하는데 ~ 몇 일 동안 계속 이어지는 것 보면 이건 뭔가 문제가 있다고 볼 수 밖에 없다. ( 그 원인과 해결책을 찾을 수가 없다. ) 아아 ~ 코덱스 ~ 인증까지 했는데 깃허브 연결이 왜 안되냐 ~ 다행스럽게도 VSCode에서 연결이 된다는 것을 찾게 되었다. 잘 모르겠는 화면에서 익숙한 아이콘과 제목이 눈에 보였다. 바로 ` IDE에서 시도해 보기 ` 버튼이었다. VSCode에서 할 수 있다는 얘기는 들었지만, 이렇게 보여주니 시도해 보는게 당연하겠지. 일단 자세한 내용을 찾아보니 이미 많은 분들이 VSCode에서 챗지피티의 코덱스를 연결해 사용하고 있었다. VSCode가 깃허브에도 연결되니, 생각해 보면 굳이 코덱스를 웹에서 할 필요는 없겠다는 생각이 들었다. 바로 시도를 해 본다. 새로운 방법을 찾다. 이런 새로운 방법을 찾게 되면 왠지 모를 도파민이 생기는 느낌이다. 어쨌든 VSCode를 실행하고 코덱스를 설치하게 되었다. 평소 웹에서 작업하다보니 VSCode에 설치된 코덱스가 익숙하진 않다. 뭐, 걱정할 필요는 없다. 화면을 캡쳐하고 챗지피티 또는 제미나이에 캡쳐화면 자체를 업로드하고 물어보면 된다. 화면 우측 하단에 프롬프트 입력창이 있다. ...