전체 글 54

[C/C++] 문자 판별 함수( isupper(), islower(), isdigit(), isalpha() )

왜 문자 판별 함수가 중요할까? c에서 문자열을 다룰 때 가장 먼저 해야 하는 건 "이 문자가 어떤 종류인지 구분하는 것"이다. 예를 들어, - 입력값이 숫자인지 확인해야 하고- 영문자인지 검사해야 하고- 잘못된 값은 걸러내야 한다이때 사용하는 게 바로 이다. ctype.h 란? 는 문자 하나를 입력받아 그 문자의 성격을 판단해주는 함수 모음!! ctype.h 특징은?- 문자 하나(char)를 입력- 조건을 만족하면 참(0이 아닌 값) 반환- 아니면 0 반환그래서 if 문에서 바로 사용한다 핵심 문자 판별 함수1. isupper (대문자 판별)isupper(char c) isupper의 역할은 문자가 'A' ~'Z' 인지 확인하는 것이다if(isupper('A')) // 참if(isupper('a')..

카테고리 없음 2026.04.16

[JAVA] 자바 메모리 구조 문자열 Literal vs new String()

자바를 공부하다보면 문자열 구조에 대해 헷갈릴 때가 많다 왜 문자열은 특별할까?자바에서 가장 많이 쓰이는 데이터 타입인 String은 메모리를 아끼기 위해 아주 독특한 관리 방식을 사용한다.그 안에 바로 String Constant Pool(문자열 상수 풀) 이 있다. String Constant Pool자바는 힙(Heap) 메모리 영역 안에 문자열 리터럴을 저장하는 전용 공간을 둔다- 리터럴 방식 ("A"): 자바가 실행될 때 이 문자열을 pool에 등록. 만약 똑같은 문자열이 또 나온다면, 새로 만들지 않고 pool에 있던 주소를 그대로 연결함- new 방식(new String("A"): pool을 거치지 않고 힙 영역에 매번 새로운 객체를 생성. 값은 같아도 메모리 주소는 완전히 별개가 된다. 비교..

카테고리 없음 2026.04.06

[C/C++] C언어 포인터 완전 정복

C언어를 공부하면서 가장 많이 막히는 부분은 단연 포인터이다.특히 배열, 구조체, 이중 포인터가 함께 등장하면 코드 해석이 어려워진다. 1. 포인터란?포인터는 변수의 주소를 저장하는 변수int a = 10;int* p = &a 의미- a: 값 10을 저장- &a: a의 주소- p = a의 주소를 저장하는 포인터 2. 포인터 기본 연산*p 포인터가 가리키는 주소의 값을 의미한다 즉 *p == a 3. 배열과 포인터의 관계C언어에서 배열 이름은 첫 번째 요소의 주소int arr[3] = {1,2,3};int* p = arr; 위 코드의 의미는 다음과 같다 p == &arr[0] ※ 배열처럼 사용하는 포인터p[1] == arr[1] 내부적으로는 이렇게 동작한다*(p + 1) 4. 구조체와 포인터구조체도 배..

카테고리 없음 2026.03.23

[C/C++] 연산자 총정리

※C언어에서 연산자는 프로그램의 핵심이다.데이터를 계산하고, 비교하고, 조건을 판단하는 모든 과정이 연산자를 통해 이루어진다. 1. 산술 연산자 (Arithmetic Operator)기본적인 사칙연산을 수행하는 연산자연산자설명예시+덧셈a+b-뺄셈a-b*곱셈a*b/나눗셈a/b%나머지a%b ※ 주의사항- 정수끼리 나누면 소수점은 버려진다- % 연산자는 정수형에서만 사용 가능 2. 증감 연산자 (Increment / Decrement)변수의 값을 1 증가 또는 감소시키는 연산자연산자설명++1 증가-- 1 감소 ※ 전위 / 후위 차이int a = 5;++a; // 먼저 증가 → 6a++; // 사용 후 증가 3. 관계 연산자 (Relational Operator)값을 비교하여 참(1) 또는 거짓(0) 을 반..

카테고리 없음 2026.03.20

[Python] enumerate() 함수 정리, 사용법 및 특징 (예제)

Python에서 반복문을 사용할 때 데이터의 값뿐만 아니라 위치(index)도 함께 필요할 때가 많다.이때 유용하게 사용할 수 있는 함수가 바로 enumerate() 이다. enumerate()는 반복 가능한 객체를 순회할 때 인덱스와 값을 동시에 반환해 주는 함수로, Python에서 매우 자주 사용되는 내장 함수 중 하나이다. 1. enumerate() 함수란?enumerate() 함수는 리스트, 튜플, 문자열 등의 반복 가능한 객체(iterable)를 반복할 때, 각 요소에 인덱스(index)를 붙여서 반환해주는 함수이다. 즉, 반복문에서 "몇 번째 데이터인지"와 "데이터 값"을 동시에 가져올 수 있도록 도와주는 함수이다. 예를 들어 리스트를 반복할 때 일반적으로는 다음과 같이 값을 가져온다fruit..

카테고리 없음 2026.03.13

[C/C++] const 개념, 특징, 사용법 (포인터)

C언어에서 const는 변수의 값을 변경할 수 없도록 만드는 키워드즉, 읽기 전용(Read Only) 변수를 만들 때 사용한다. const를 사용하면 프로그램에서 실수로 값이 변경되는 것을 방지할 수 있기 때문에 안정적인 코드를 작성할 수 있다 1. const 개념const = 상수한번 값이 초기화되면 프로그램 실행 중에 값을 변경할 수 없다 기본 문법const 자료형 변수명 = 값; 예제#include int main() { const int num = 10; // num = 20; // 오류 발생 printf("%d", num); return 0;} 만약 cosnt로 변수를 저장한 후 num의 값을 다시 변경하려 하면 num은 상수 변수이기 때문에 컴파일 오류가 발생한다 2. ..

카테고리 없음 2026.03.13

[C/C++] 문자 입출력 함수 getchar(), putchar()

c언어에서 getchar()와 putchar()는 문자 단위 입출력을 처리하는 가장 기본적인 함수이다.즉, 한 번에 문자 1개씩 입력하거나 출력하는 함수이다두 함수 모두 stdio.h 라이브러리에 포함되어 있다 1. getchar()개념표준 입력(stdin)으로부터 문자 1개를 읽어오는 함수보통 키보드 입력을 받을 때 사용int getchar(void); 특징입력 스트림(stdin)에서 문자 1개를 읽음반환형이 int입력된 문자 또는 EOF(End Of File) 반환파일의 끝 또는 더 이상 입력할 데이터가 없음을 의미하며 보통 -1 반환과정1. 키보드에서 문자 입력2. 버퍼에 저장3. getchar()가 버퍼에서 문자 1개 읽음4. 해당 문자를 반환 예제코드#include int main() {..

카테고리 없음 2026.03.12