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번은 무조건 실..
C언어 기초 Chapter 06: printf 함수와 scanf 함수 완전 정복06-1. printf 함수 이야기1) 기본 사용법printf는 화면에 값을 출력하는 함수입니다.#include int main(void) { printf("Hello C!\n"); printf("정수: %d\n", 10); printf("실수: %f\n", 3.14); printf("문자: %c\n", 'A'); printf("문자열: %s\n", "Hello"); return 0;}%d → 정수 출력%f → 실수 출력 (기본 6자리 소수)%c → 문자 1개%s → 문자열\n → 줄바꿈2) 출력 형식 지정자 (Format Specifier)정수%d 10진수%o 8진수%x, %X 16진수실수%f..
이것이 C언어다: Chapter 04~05 정리Chapter 04. 데이터 표현방식의 이해04-1. 컴퓨터가 데이터를 표현하는 방식컴퓨터는 0과 1(비트, bit) 만을 이해합니다.8비트 = 1바이트(byte) 가 기본 단위따라서 모든 정수, 문자, 실수는 이진수로 저장됨예시:int a = 5; → 메모리 안에는 00000101(2진수)char c = 'A'; → ASCII 코드 65 → 01000001진수 표현 방법:int a = 10; // 10진수int b = 0b1010; // 2진수 (C99 이상)int c = 012; // 8진수int d = 0xA; // 16진수출력 형식 지정자:printf("%d %o %x\n", 10, 10, 10); // 10 12 aprintf("..
이것이 C언어다: Chapter 01~03 완전 정복Chapter 01. C 언어와 C 프로그램의 큰 그림01-1. C 언어, 왜 배울까?임베디드, 운영체제, 네트워크, 게임 엔진까지 폭넓게 쓰이는 로우 레벨 언어빠른 실행 속도, 메모리 제어(포인터), 이식성이 강점파이썬·자바 같은 고수준 언어를 이해하는 데도 큰 도움01-2. C 프로그램의 전체 구조C 소스 하나에 보통 아래 4요소가 들어갑니다.전처리 지시문: #include 처럼 컴파일 전에 처리전역 선언: 전역 변수, 다른 파일에서 쓸 함수 원형 등함수 정의: main 포함 모든 함수문(statement): 세미콜론으로 끝나는 실행 단위가장 작은 실행 예:#include int main(void) { printf("Hello, C!\n");..
AI 기술: 1인 창업의 혁신적 도구 AI 기술의 발전은 1인 창업과 1인 기업의 새로운 장을 열었습니다. 이제는 단 한 명이 여러 명의 직원이 있는 것처럼 효율적으로 업무를 관리하고 성과를 올릴 수 있게 되었죠. 그렇다면 어떻게 이게 가능한 것일까요? 아래에서 자세히 알아보겠습니다! 🚀 AI로 고객 이해도 향상과 맞춤형 마케팅 전략 구현 AI는 데이터 분석을 통해 고객의 니즈를 정확하게 파악할 수 있게 해줍니다. 많은 데이터를 손쉽게 처리할 수 있어 시장 동향을 분석하고, 소비자 행동을 예측하는 데 유리하죠. 예를 들어, AI 기반의 CRM(Customer Relationship Management) 시스템은 고객의 과거 구매 이력을 분석하여 맞춤형 마케팅을 제안합니다. 이를 통해 1인 ..
개인정보 유출 예방을 위한 필수 조치 최근 온라인 상에서 개인정보 유출 사건이 빈번하게 발생하며 많은 이들이 큰 불안감을 느끼고 있습니다. 특히 네이버 아이디가 유출될 경우, 2차 피해로 연결될 가능성이 크다는 점에서 주의가 필요합니다. 이러한 상황에서 개인정보를 보호하기 위해서는 어떠한 조치를 취해야 할까요? 🤔 네이버 계정 유출의 잠재적 위험과 해커의 개인정보 추적 방법 네이버 계정은 이메일, 블로그, 카페 등 다양한 서비스와 연결되어 있어 유출 시 큰 피해를 초래할 수 있습니다. 생년월일과 네이버 아이디만으로도 추가적인 개인정보를 추적할 수 있는 경우가 많습니다. 해커들은 소셜 엔지니어링 등을 통해 이름, 주민등록번호, 주소지를 알아내기도 하며, 경우에 따라서는 전화번호까지 획득할 수..
