[1] 배열(1) 배열 : 같은 자료형의 데이터들을 하나의 변수로 정의, 각 인덱스위 값이 메모리상에서 연이어 저장됨array = intintintint* 파이썬은 서로 다른 자료형의 데이터들도 하나의 변수로 정의할 수 있다.(= list) (2) 배열의 크기 조정 : realloc일정한 크기의 배열이 주어졌을때, 그 크기를 확장하기 위해서는 새로운 공간에 큰 크기의 메모리를 다시 할당하고 값을 복사해야 한다malloc (메모리 할당)realloc (배열 크기 조정)#include // printf를 쓰기 위해 헤더파일 추가#include // malloc을 사용하기위해 헤더파일 추가int main(void) { int *list = malloc (3*sizeof(int)); if(list..
[1] 알고리즘* 알고리즘은 입력(input)에서 받은 자료를 출력(output)형태로 만드는 처리 과정.입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열알고리즘의 평가할 때는 정확성도 중요하지만, 효율성도 중요합니다.* 의사코드 : 생각을 간결하게 정리한 구문 ex. 전화번호부를 집어든다. 책의 중간을 펼친다. 등등.. [2] 알고리즘 표기법(1) Big O : 알고리즘 실행 시간의 상한을 나타낸 것(2) Big Ω : 알고리즘 실행 시간의 하한Big O (상한)Big Ω (하한)O(n^2) 느림버블 정렬, 선택정렬Ω(n^2) 느림선택 정렬O(n log n)병합 정렬Ω(n log n)병합 정렬O(n)선형 검색Ω(n)버블 정렬(*정렬이 된 리스트를 받은 경..
[특강 1] print 출력순서문제1풀이#includeint main() { int i=5;printf("%d, %d, %d, %d", i++, ++i, i++, ++i);}1차풀이)i++ 5출력 후 i=6, ++1 후 출력7, 7출력후 i=8, +1후출력9*** print는 뒤에서 부터 출력.... 충격적..ㅋㅋ2차풀이)+1후출력6, 6출력후+1,i=7, +1후 출력8, 8출력후+1 i=9*** ++나--가 앞에 오면 연산을 할 당시의 i값을 참조,현재는 연산을 하지 않아서 i최종을 기다려야함3차풀이)++i, i+1=6연산, i를 확정짓지 않음 => i = 9i++, 현재 i=6를 참조 i=i+1=7 =>6++i, i+1=8연산, i를 확정짓지 않음=> i = 9i++, 현재 i=8를 참조 i= i..
[49,50,51,52강] static 변수* static 변수? (정적변수, 공유하고 있는 변수)- 단 한번만 초기화하고, 그 이후에는 전역변수(함수 위에 선언해 모든 함수들이 공유)처럼 프로그램이 종료될때까지 메모리공간에 존재하는 변수.- 초기값이 지정이 안되면, 자동으로 0 이 대입.ex. int a; a에 이상한 쓰레기 값 들어감, static int a; 자동으로 a에 0값이 들어감* 배열도 선언만 하면 자동으로 0이 들어감지역 변수static 변수void test(){ int a = 10; a++; // a=11 printf("%d", a);}void main() { test(); // 11출력, 동작 수행 후 test 안의 변수들 초기화 test(); // 11출력, 동작 수행 후 ..
[37강] 함수* 함수란? 반복적인 수행을 정의해 놓은 작은 프로그램 단위(하나의 프로그램 단위) 모듈의 독립성을 높이기 위해 응집도를 높이고 결합도를 낮춘다.반환함수함수 선언과 사용반환타입 함수명(인자들...){ 수행할 작업1 수행할 작업2}int sum(int a, int b) {int c = a+b;return c; }int data = sum(10,20); // 30을 return 시킴printf("%d", data); // 30 출력*반환하지 않는거는 void 타입이라고 함.문제풀이#includevoid swap(int a, int b){ int temp; temp = a; a = b; b = temp;}int main(void) { int k,j; ..
[29,30강] 2차원 배열과 포인터 * 배열 : 물리적으로 연속 된 공간*이차열 배열은 행의 대표 주소를 가지고 있다. 배열배열저장소저장소에 등록 된 주소값주소int a[3][2] = {{1,2},{3,4},{5,6}};a → a[0] →a[0][0] 1행1열1100번지3행 2열짜리 배열 a 생성 a[0][1] 1행 2열2101번지 a[1] →a[1][0] 2행 1열3102번지 a[1][1] 2행 2열4103번지 a[2] →a[2][0] 3행 1열5104번지 a[2][1] 3행 2열6105번지printf("%d\n", a)a에는 a[0]의 주소값 저장 → 100번지 출력printf("%d\n", *a)a에 주소값 에있는 a[0]에는 a[0][0]의 주소값 저장 → 100번지 출..
[21,22강] 배열* 배열이란? 같은 자료형(같은 크기를 가지는 ex. int랑 int)의 변수를 연속적으로 묶어 놓은 저장공간(주소값O) 물리적으로 연속된 공간!- 배열의 선언 : 자료형 배열이름[열의 개수] ex. int a[5]- 이차원 배열 : 같은 자료형의 변수를 행과 열의 연속적인 공간으로 묶어 놓은 것 ex. int a[2][3];일차원 배열int a[5];a[0] a[1] a[2] a[3] a[4] * a에는 a[0]의 물리적인 메모리의 주소값이 저장되어 있다.이차원 배열int a[2][3];a[0][0] a[0][1] a[0][2]a[1][0] a[1][1] a[1][2]* 이해하기 위함이고, 실제 저장은 일차원으로 저장됨 [23강] 포..
[14강] 조건문ifswitch조건에 따라서 다른 명령어들을 수행주어진 값에 맞는 명령어들을 수행**break에 주의! 브레이크나 나올때까지 쭉쭉쭉 실행! if (조건) { 조건이 만족할 때 처리;} [문제]switch(a){ case 0 : printf("%d\n",b++); break; case 1 : printf("%d\n",++b); break; default: print(%d\n,b); break;}* if ~ else문if (조건) { 조건이 만족할 때 처리;} else { 조건이 아닐때 처리}* 다중if문if (조건1) { 조건1이 만족할 때 } else if (조건2) { 조건2가 만족할 때}else { 모든 조건이 아닐때}[풀이] a=0 → case 0 → b를 출력 :1 → ..
- Total
- Today
- Yesterday
- 갓생
- 영어회화
- 운동
- 스크랩
- 고득점 Kit
- 경제
- Python
- opic
- llm
- 오픽
- 미라클모닝
- SQL
- IH
- 줄넘기
- 뉴스
- 기초
- 오블완
- 30분
- 빅데이터 분석기사
- 다이어트
- 티스토리챌린지
- 아침운동
- 아침
- 루틴
- ChatGPT
- 프로그래머스
- Ai
- 습관
- C언어
- 실기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |