공부 STUDY/C | C++
[C] 메모리 구조 | 스택, 힙, 데이터영역 | stack, Heap, Data
전공 수업 내용을 복습하던 중 동적 메모리와 관련된 함수들이 대거 나와서 정리의 필요성을 느꼈다. 안교수님 너무 꼼꼼하시다 하 하 하 하 우선 동적 할당을 이해하려면 메모리 구조를 이해할 필요가 있다. 그래서 이번 글에서는 메모리 구조를 먼저 정리하려 한다. C언어의 메모리 구조 프로그램을 실행시키면 운영체제는 우리가 실행시킨 프로그램을 위해 메모리 공간을 할당해준다. 할당되는 메모리 공간은 크게 스택(Stack), 힙(Heap), 데이터(Data)영역으로 나뉘어진다. 이러한 메모리 공간이 어떠한 용도로 언제, 어디서 할당되는지 알아보도록 하자. 할당 시기 : 프로그램이 실행될 때마다 할당 장소 : 메인 메모리(RAM) 할당 용도 : 프로그램 실행 시 필요한 메모리 공간(지역변수, 전역변수 선언을 위해)..
[C언어] 헷갈리는 getchar() 함수 이해하기
전공수업 C 언어 문자열 단원을 공부하던 중 getchar() 함수의 버퍼 개념에 대해 확실히 알고자 글을 정리한다. getchar() 버퍼에 데이터가 있을 때 = > 버퍼 가장 앞의 데이터를 반환한다 버퍼에 데이터가 없을 때 = > 엔터(‘\n’)가 올 때까지 사용자로부터 문자를 받아서 버퍼에 저장하고 가장 앞의 데이터를 반환한다 이때, 버퍼는 라고 생각하면 된다. getchar()함수를 연속으로 썼을 때 오류가 생긴다면 버퍼의 데이터 문제일 가능성이 크다. int main(void) { char s1; getchar(); s1=getchar(); } 처음 getchar()에서 ‘h’입력 => 버퍼에 ‘\n’이 남..
[C언어] 포인터 헷갈리는 개념 정리
전공수업과정 공부중 헷갈리는 부분을 정리하고자 한다. 1. 포인터 C에서 int, char, 포인터 변수는 각각 다음 형태의 값을 저장한다. char : 문자형 값 int : 정수형 값 포인터 : 메모리 주소 &는 주소 연산자로, 해당 변수의 메모리 주소값을 반환한다. *는 간접지정 연산자로, 해당 메모리 주소값에 저장된 값에 접근한다. 위 문법을 통해 다음과 같은 연산이 이루어진다. 참고 Q. ptr에 저장된 값은 num의 주솟값인 &num이라 했는데, 그럼 이번엔 &ptr을 출력하면 어떤 값이 나올까? A. 당연하게도 ptr 포인터 변수의 주소값인 0104가 출력된다. 포인터 변수도 기본 변수와 마찬가지로 메모리 영역에 선언되기 때문이다. 2. 배열과 포인터 배열은 연속된 데이터를 저장하기 위한 자료..
[C언어] 다음 변환 지정자에 해당하는 'scanf_s' 에 대한 정수 인수가 없습니다
과제를 풀다가 다음과 같은 문제가 발생했다. 해결 방법: scanf_s에서 %c를 사용하려면 입력받을 변수의 메모리 크기를 지정해주어야 한다. ex) scanf_s("%c", &oper, 1);
C 언어 | 혼공C 공부기록
글씨가 개판이지만 공부하면서 적은거라 ㅎㅎ 기본편 2회독하고 고급편 1회독 중이다. 알고리즘도 건들이는 중임 얼른 학부수업으로 들어보고싶ㄸ ㅏ
C 프로그래밍 | 1부터 10까지의 합 재귀호출 사용하여 계산하기
#include int rec_sum(int n); int main(void) { int res; res = rec_sum(10); printf("result : %d\n", res); return 0; } int rec_sum(int n) { if(n == 1) return 1; else return (n + rec_sum(n-1)); } 어렵ㄷ ㅏ
경북대학교 SW 교육센터 프로그램, C 프로그래밍 기초 완강!
오늘 수업을 끝으로 C 프로그래밍 기초 수업을 완강했다! 이제 교재와 함께 복습하고, 심화 수업을 수강할 계획이다.
C 프로그래밍 | 사용자 정의 함수
오늘은 C 프로그래밍의 마지막 과정인 사용자 정의 함수에 대해 공부했다 나중에 복습을 위해 과정을 기록하고자 한다. 그리고 이 수업을 끝으로 C 프로그래밍 기초 수업을 마쳤다! 어제는 도서관에 가서 윤성우 저자/ 혼자 공부하는 C 책을 대출했다. 이제 기초 공부를 바탕으로 책과 함께 복습하고, 심화단계로 넘어갈 계획이다.