C언어 포인터 개념정리_2
·
C/Concept
🌟 구조1, & 주소 연산자더보기포인터는 메모리 주소를 저장하는 변수로, C언어에서 가장 중요하면서도 어려운 개념 중 하나. ① (&) 연산자 개념정식 명칭: Address-of 연산자 (주소 추출 연산자)변수가 저장된 메모리의 주소를 반환사용 방법: &변수명 ② 메모리 주소란?컴퓨터의 메모리는 수많은 작은 저장공간들이 일렬로 배열된 구조이다. 각 저장공간마다 고유의 번호가 있는데, 이를 메모리 주소라 부른다. 마치 아파트의 각 호수처럼 각 메모리 공간을 구분하는 번호다. ③ 코드 상세 분석#include void main(){ int iNum = 90; // 정수형 변수 iNum을 선언하고 90으로 초기화 // %d: 정수를 10진수로 출력하는 형식 지정자 // iNum: 변..
C언어 함수
·
C/Task
🌟 예제 53, 함수 이용해서 두 수 중 큰 수 찾기더보기#include int compare(int a, int b) { return a > b;}int main(){ int x, y; int max; printf("정수(2개): "); scanf("%d %d", &x, &y); max = compare(x, y); if (max == 1) { printf("큰 수: %d", x); } else { printf("큰 수: %d", y); } return 0;} 🌟 예제 53, 함수 이용해서 세 수 중 큰 수 찾기더보기#include int compare(int a, int b) { return a..
C언어 배열
·
C/Task
🌟 예제 36, 1부터 10까지의 수 리스트에 저장하고 출력하기더보기//예제 36#include int main(){ int a[10]; int i; for (i = 1; i 🌟 예제 37, 10, 20, 30, ..., 100 저장하고, 거꾸로 출력하기더보기//예제 37#include int main(){ int a[10]; int i; for (i = 1; i = 0; i--) { printf("%d ", a[i]); } return 0;} 🌟 예제 38, 리스트 요소 거꾸로 뒤집기 더보기//예제 38#include int main(){ int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; ..
C언어 배열 정리
·
C/Task
🌟 과제 42, 내림차순 데이터 집합에 대한 이진 탐색더보기① 이진 탐색이란?이진 탐색은 정렬된 배열에서 특정 값을 찾는 효율적인 알고리즘이다. 배열을 반으로 나누어 가며 탐색 범위를 좁혀가는 반식으로 작동한다 ② 일반적인 이진 탐색 VS 내림차순 이진 탐색일반적인 이진 탐색: 오름차순 정렬된 배열에서 사용내림차순 이진 탐색: 내림차순 정렬된 배열에서 사용 ③ 동작 원리배열의 중간 지점 확인찾는 값과 중간값 비교내림차순이므로, 찾는 값이 중간값보다 크면 왼쪽 절반 탐색찾는 값이 중간값보다 작으면 오른쪽 절반 탐색값을 찾을 때까지 반복 #include int main() { int target; // 찾으려는 값을 저장할 변수 int data[] = {10, 9, 8, 7, 6, 5, 4, 3..
C언어 포인터 개념정리_1
·
C/Concept
🌟 구조1, 스택더보기#include int b() { printf("b\n"); return 0;}int c() { printf("c\n"); return 0;}int a() { printf("a\n"); b(); c(); printf("a_end\n"); return 0;}int main() { printf("main\n"); a(); return 0;}// main// a// b// c// a_end ① 프로그램 시작main() 함수가 가장 먼저 실행 ②main() 실행"main" 출력a() 호출 ③ a() 실행"a" 출력b() 호출 → "b" 출력 후 종료c() 호출 → "c" 출력 후 종료"a_end" 출력a() 종료 후 다시 ..
06/12 반복구조
·
C/Task
🌟 예제 17번, 1부터 10까지 출력하기(1)더보기#include int main(){ int i; for (i=1; i 🌟 예제 18번, 1부터 10까지 출력하기(2)더보기#include int main(){ int i; for (i=1; i 🌟 예제 19번, 10부터 1까지 출력하기더보기#include int main(){ int i; for (i=10; i > 0; i--) { printf("%d ", i); }} 🌟 예제 20번, 1부터 100까지의 합 구하기더보기#include int main(){ int i; int sum = 0; for (i=1; i 🌟 예제 21번, 1부터 100까지 중 ..
C언어 소스코드 개념정리
·
C/Concept
🌟 C언어 소스코드와 메모리에 저장되는 바이너리의 의미더보기 ① char cNum = 65; char형 변수는 1바이트(8비트) 사용 10진수 65는 2진수로 01000001 따라서 변수 cNum은 주소 0x0061FF17에 01000001로 저장되었음. 이는 아스키코드 ‘A’에 해당0x0061FF17 : 01000001 (65, 'A') ② int iNum = 90;int형 변수는 4바이트(32비트) 사용10진수 90은 2진수로 00000000 00000000 00000000 01011010메모리에는 리틀 엔디언 방식으로 저장되므로, 가장 하위 바이트부터 차례로 저장0x0061FF22 : 01011010 (90의 가장 하위 바이트)0x0061FF23 : 000000000x0061FF24 : 00..
6/10 선택구조
·
C/Task
🌟예제 8번, 두 수 중 큰 수 찾기더보기#include int main(void){ int a, b; printf("정수(2개): "); scanf("%d %d", &a, &b); if(a>b) { printf("큰 수: %d", a);} else{ printf("큰 수: %d", b);} return 0;} 🌟예제 9번, 양수, 0, 음수 판별하기더보기/*양수, 0, 음수 판별하기*/#include int main(void){ int num; int a; printf("정수: "); scanf("%d", &num); a = num; if (a 0){ printf("양수다"); } else { printf("0"..
6/9_C 순차구조
·
C/Task
🌟예제 1번, 덧셈과 곱셈하기더보기1. 변수 a에 3, 변수 b에 5를 저장.2. a+b, a * b의 값을 출력.#include int main(void){ int a = 3; int b = 5; printf("덧셈: %d", a + b); printf("\n곱셈: %d", a * b);} 🌟예제 2번, 두 수를 입력받아 덧셈, 곱셈 출력하기더보기1. 사용자로부터 a와 b를 입력받음.2. a + b 의 값을 출력.3. a * b 의 값을 출력.#include int main(void){ int a; int b; printf("정수(2개) : "); scanf("%d %d", &a, &b); printf("덧셈: %d", a + b); printf("\n곱셈: %d", a * b); ret..