본문 바로가기

프로그래밍3

20201101#(7) 메모리구조 (3) (전역변수,static) 오늘은 메모리 구조의 data 부분에 대해서 알아보자. 데이터 영역은 간단하게 넘어가면 될 것 같다. 데이터 영역은 1. 전역 변수와 static변수가 할당되는 영역 2. 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 소멸되는 영역 이다. 위의 말이 이해가 안된다면 아마 전역 변수와 static변수의 뜻을 모르기 때문일 텐데 전역 변수는 프로그램 전체에서 사용할 수 있다 하여 전역 변수인데 예를 들어 설명해보자면, void func1() { int a=1; } void func2() { int b=2; } void main() { int c=3; } 와 같은 코드가 있다고 해보자. int a , b, c는 각 함수에 선언된 지역변수(선언된 함수 내에서만 사용 가능 )이다. 만약 여러분이 모든 .. 2020. 11. 1.
20201031#(6) 메모리구조 (2) (stack) 지난 글에서 말했듯이 오늘은 stack의 구조에 대해서 같이 공부하는 시간이다! stack에는 지역변수와 매개변수가 저장되게 되는데 스택 영역의 특징은 LIFO이다.(LAST IN FIRST OUT) ->마지막에 들어온값이 처음 나간다는 뜻인데 일상 속에서 예를 들어보자. 여러분들의 주방이 너무 더러워서 정리를 해보려고 한다. 특히 접시가 널브러져 있어서 한 곳에 쌓아두려고 한다. 차곡차곡 하나씩 접시를 쌓아놓았다. 맨 처음 정리 한 접시는 바닥에 깔려있을 것이고 마지막에 정리한 접시는 접시 더미의 맨 위에 위치해 있을 것이다. 만약 여러분이 접시가 필요해 접시를 쓰려고 할 때는 맨 위에 있는 접시를 사용하게 될 것이다. 즉 마지막에 정리한 접시를 가장 먼저 꺼내오게 되는 것이다. 여기서 접시를 쌓는 행.. 2020. 10. 28.
20201020#(3) 어떤 언어를 선택해야할까 고민될때는? 나의 첫 프로그래밍 언어는 c 언어이다. 전공도 정하지 못한 채 대학교에 와서 이것저것 듣다가 1학년 2학기 때 cprograming 강의를 신청해 듣게 된 게 나의 첫 프로그래밍 시작이라고 할 수 있다. 처음에는 왜 c언어를 먼저 배우게 할까? 라고 생각했었다. 지금 와서 생각해보니 지금 우리가 쓰고 있는 os들 대부분이 c언어를 기반으로 작성되어있으며 c언어를 배우게 되면 c++, c# 등을 배우기 편하다. 또한 c언어는 컴퓨터 구조를 이해하기 쉬운 언어라고도 한다. 이외에도 다양한 장점이 있는 언어라고 생각된다. 요즘 c언어 공부를 하다가 문득 다른언어를 공부해보고 싶다는 생각이 든다. 그런데 지금 c언어를 배우고 있는 중이기 때문에 이때까지 한 게 아까워서라도 목표치까지는 마치고 다른 언어를 선택.. 2020. 10. 20.