민생회복 소비쿠폰 사칭 스미싱 사기, 꼭 주의하세요!최근 정부에서 추진하는 민생회복 소비쿠폰 사업을 사칭한 스미싱과 보이스피싱 범죄가 기승을 부리고 있습니다.소비자들의 관심이 높은 만큼 이를 노린 사기 수법도 점점 다양해지고 있는데요. 오늘은 현재 어떤 방식으로 사기가 이루어지고 있는지, 그리고 우리가 어떻게 예방할 수 있는지 정리해 드릴게요.❗️주요 사기 유형1. 스미싱 문자"민생회복 소비쿠폰 신청하세요"라는 문구와 함께 URL이 포함된 문자가 발송됩니다.해당 링크를 누르면 악성 앱이 설치되어 개인정보와 금융 정보가 유출될 수 있습니다.중요! 정부와 은행, 카드사에서 보내는 공식 안내 문자에는 URL이 절대 포함되지 않습니다.2. 피싱 사이트 & 보이스피싱링크 접속 시 가짜 정부 사이트로 유도되어 주민..
C언어 기초 Chapter 22~23: 구조체와 사용자 정의 자료형Chapter 22. 구조체와 사용자 정의 자료형 122-1. 구조체란 무엇인가?여러 자료형을 하나로 묶어 새로운 자료형을 정의하는 것하나의 논리적 단위로 표현 가능#include struct Student { char name[20]; int age; double grade;};int main(void) { struct Student s1 = {"Kim", 20, 3.8}; printf("이름: %s\n", s1.name); printf("나이: %d\n", s1.age); printf("학점: %.1f\n", s1.grade); return 0;}22-2. 구조체 배열 그리고 포인터구조체 배열..
C언어 기초 Chapter 21: 문자열과 문자열 관련 함수21-1. 스트링과 데이터의 이해문자열(String): 문자들의 배열 + 마지막에 \0 (널 문자)선언 방법:char str1[6] = {'H','e','l','l','o','\0'};char str2[] = "Hello"; // 자동으로 \0 포함출력 예제:#include int main(void) { char str[] = "Hello"; printf("%s\n", str); return 0;}👉 출력: Hello21-2. 문자열 단일 입력 함수gets (❌ 사용 지양: 안전하지 않음)fgets (✅ 안전한 문자열 입력)#include int main(void) { char str[20]; printf("문자열 ..
C언어 기초 Chapter 19: 함수 포인터와 void 포인터19-1. 함수 포인터와 void 포인터함수 포인터란?함수의 주소를 저장하는 포인터 변수함수도 메모리에 올라가기 때문에 시작 주소가 존재이를 이용해 함수를 변수처럼 전달하거나 동적으로 호출할 수 있음기본 문법반환형 (*포인터이름)(매개변수목록);예제: 함수 포인터 선언과 사용#include int add(int a, int b) { return a + b;}int main(void) { int (*fp)(int, int); // 함수 포인터 선언 fp = add; // 함수 주소 저장 int result = fp(3, 4); // 함수 포인터로 호출 printf("결과 = %d\n", re..
C언어 기초 Chapter 17~18: 다차원 배열과 포인터의 관계 완전 정리Chapter 17. 다차원 배열17-1. 다차원 배열의 이해와 활용2차원 배열 선언int arr[3][4]; // 3행 4열 배열초기화int arr[2][3] = { {1, 2, 3}, {4, 5, 6}};👉 메모리에는 행 순서대로 저장됨2차원 배열 출력#include int main(void) { int arr[2][3] = {{1,2,3},{4,5,6}}; for (int i=0; i출력:1 2 34 5 617-2. 3차원 배열선언 및 초기화int cube[2][2][2] = { {{1,2},{3,4}}, {{5,6},{7,8}}};👉 인덱스로 접근printf("%d\n", cube[1..
C언어 기초 Chapter 16: 포인터의 포인터 (이중 포인터 이해와 활용)16-1. 포인터의 포인터에 대한 이해기본 개념포인터도 변수이므로, 그 포인터의 주소를 저장하는 또 다른 포인터를 만들 수 있음이를 이중 포인터(double pointer) 라고 함선언 방식:int **pp;예제#include int main(void) { int a = 10; int *p = &a; // int형 변수 a를 가리킴 int **pp = &p; // 포인터 p의 주소를 가리킴 printf("a = %d\n", a); printf("*p = %d\n", *p); printf("**pp = %d\n", **pp); return 0;}👉 출력:a = 10*p = 10**..
C언어 기초 Chapter 14: 포인터와 함수 (배열 전달, Call by Value & Reference, const)14-1. 함수의 인자로 배열 전달하기배열 전달 기본함수에 배열을 넘기면, 사실은 배열의 첫 번째 원소 주소가 전달됨따라서 배열 크기 정보는 따로 넘겨줘야 함#include void printArray(int arr[], int size) { for (int i = 0; i 👉 출력: 1 2 3 4 5배열 원소 수정하기#include void addOne(int arr[], int size) { for (int i = 0; i 👉 함수 안에서 배열 값이 실제로 변경됨 (주소 전달 방식이기 때문)14-2. Call by Value vs. Call by ReferenceCa..
C언어 기초 Chapter 13: 포인터와 배열 함께 이해하기13-1. 포인터와 배열의 관계배열과 포인터배열 이름은 사실상 첫 번째 원소의 주소arr 와 &arr[0] 는 같은 의미예제:#include int main(void) { int arr[3] = {10, 20, 30}; int *p = arr; // arr == &arr[0] printf("%d %d\n", arr[0], *p); // 10 10 printf("%d %d\n", arr[1], *(p+1)); // 20 20 printf("%d %d\n", arr[2], *(p+2)); // 30 30 return 0;}👉 배열과 포인터는 밀접하게 연결되어 있음13-2. 포인터 연산포인터에 정수를..
C언어 기초 Chapter 11~12: 배열과 포인터 완전 정리Chapter 11. 1차원 배열11-1. 배열의 선언과 초기화 방법배열이란?같은 자료형 변수를 여러 개 모아 하나의 이름으로 관리하는 것인덱스(index)를 이용해 각 요소 접근선언int arr[5]; // 정수 5개 저장double scores[10]; // 실수 10개 저장초기화int arr1[5] = {1, 2, 3, 4, 5};int arr2[] = {10, 20, 30}; // 크기 생략 가능char str[] = {'H', 'i', '\0'}; // 문자열 배열11-2. 배열을 이용한 문제와 변수의 표현배열 접근#include int main(void) { int arr[5] = {10, 20, 30, 40, 50}..
C언어 기초 Chapter 09: 함수의 정의, 호출, 변수의 범위와 수명09-1. 함수를 정의하고 선언하기함수란?특정 기능을 수행하는 코드 묶음재사용 가능, 코드 가독성 향상, 유지보수 편리기본 구조반환형 함수이름(매개변수목록) { 실행문; return 값;}예제:#include int add(int a, int b) { // 함수 정의 return a + b;}int main(void) { int result = add(3, 5); // 함수 호출 printf("3 + 5 = %d\n", result); return 0;}함수 선언(프로토타입)함수 정의보다 먼저 호출하려면 선언 필요int add(int a, int b); // 함수 선언(프로토타입)int mai..
C언어 기초 Chapter 08: 조건문과 흐름 제어 (if / switch / break & continue / goto)08-1. 조건식 실행과 흐름의 분기 (if문)기본 구조if (조건식) { 실행문;}예제:#include int main(void) { int age = 20; if (age >= 18) { printf("성인입니다.\n"); } return 0;}if ~ elseif (조건식) { 실행문1;} else { 실행문2;}예제:int num = -5;if (num > 0) { printf("양수\n");} else { printf("음수 또는 0\n");}다중 if ~ else if ~ elseif (score >= 90) p..
C언어 기초 Chapter 07: 반복문 while / do~while / for 완전 정리07-1. while문을 이용한 문장의 반복기본 구조while (조건식) { 반복 실행할 문장;}조건식이 참(true) 이면 블록 실행조건식이 거짓(false) 이면 반복 종료예제:#include int main(void) { int i = 1; while (i 👉 출력: 1 2 3 4 5무한 루프while (1) { printf("무한 반복!\n"); break; // 특정 조건에서 탈출 필요}⚠️ while(1) 은 종료 조건을 따로 만들어줘야 함07-2. do~while문을 이용한 문장의 반복기본 구조do { 반복 실행할 문장;} while (조건식);최소 1번은 무조건 실..