본문 바로가기

전체 글

(426)
포인터와 배열의 관계 이번 공부를 통해 알리고자 하는 내용은 배열 또한 포인터 라는 사실이다. 배열의 이름은 포인터다. 단 , 그 값을 바꿀수 없는 '상수 형태의 포인터'다. 다음 예제를 살펴보고 진행하도록 하자. (참고로 %p 는 주소값의 출력에 사용되는 서식문자이다.) 정수형 길이3의 배열을 선언과 동시에 초기화 해주었다. 그리고 배열의 각 요소의 주소값들을 출력하고있다. 결과값을 보자! 결과값을 살펴보면 16진수 형태로 출력됨을 알수있으며 동시에 각 요소들의 차는 4byte임을 알 수 있다! (우리가 선언한 배열은 int형 , int형 자료형은 하나당 4byte의 크기를 갖는다!) 모든 배열의 요소는 메모리 공간에 나란히 할당된다! 라는 점을 몸소 확인하였다. 그리고 배열이름을 출력하는 부분에서 배열의 첫번째 요소 값을..
포인터 정리 이번에는 C언어에서 매우 중요한 위치를 가지고있는 포인터 개념에 대해 공부해보자! 정리를 시작하기에 앞서 , 포인터는 여러모로 정말 중요한 개념이니 꼭 꼭 꼭 꼭 확실히 잡자! 포인터는 C언어가 Low Level의 특성을 지니는 가장큰 이유다. 왜냐하면 포인터를 이용하면 메모리의 주소값을 통해 메모리에 직접 접근이 가능하기 때문이다. 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 A B C 위 블록에 칸마다 적어놓은것은 메모리의 주소값이다. 그림에서 보는것과 같이 , 메모리 공간은 1바이트를 단위로 하나의 주소값이 할당되며 , 주소 값도 1씩 증가한다. char형 변수 A , B와 int형 변수 C를 선언했다고 가정해보자. char형 변수 A는 0x0001번지에 할당이 되어있..
char형 배열 , 문자열 이번에는 배열의 한 종류인 문자열에 대해 공부하자 우리는 한 문자를 입,출력 하기위해 char라는 자료형을 사용한다. 배열을 선언하는데 자료형은 char형으로 선언하면 어떻게 될까? 배열은 각각의 요소들을 나란히 정렬시키고 그 요소들이 문자들이라면 '문자열'을 만들수 있지 않을까? char형 배열을 이용하면 문자열의 저장뿐만 아니라 문자열의 변경도 가능해진다. 이전에 언급한것과 같이 C언어 에서는 문자열을 " 큰 따옴표를 이용하여 표현한다. 다음의 예시를 보자 char[14] = "Good morning!"; 이러한 char형 배열 선언을 통해 메모리 공간에는 char변수14개가 나란히 할당되고 , 이 배열에는 이러한 형태로 문자열이 저장된다. G o o d m o r n i n g ! \0 우리가 입력..
1차원 배열 배열(Array)란 무엇인지 알아보자! 왠지 이름만 들어도 다수의 데이터를 저장하고 처리하는데 용이할 것 같은 느낌적인 느낌이 든다. 예를 들어보자! 한 아파트에 거주하는 인원을 저장 및 갱신하는 프로그램을 만든다고 가정해보자. 이 아파트는 15개의 층이있고 각 층에는 네 가구가 입주해 있다. 그러면 우리는 각각의 데이터를 대입할 변수가 총 15 x 4 = 60개가 필요하다.... 그렇다... 그러면 이런식으로 짜야할듯 싶다.. int floor01 , floor02 , floor03 , floor04 ....floor60 총 60개를 선언해줘야 한다. 이렇게는 안할랜다... 우리는 귀찮음을 덜기 위해 배열을 이용한다 배열을 선언하기 위해서는 배열이름 , 배열의 길이 , 자료형 이렇게 3가지의 요소만 있..
static 변수 (static variable) 이번에 설명할 변수는 스테틱 변수다.static은 전역변수와 지역변수 모두 선언을 추가할 수 있다. 이번에는 지역변수에 추가하는 상황을 설명할 것 이다! 우리가 아는 지역변수는 접근의 범위가 선언된 함수 내에서만으로 제한되어져 있다. 지역변수에 static 선언을 하게되면 지역변수와 전역변수의 특성을 둘다 가질수 있다. static 지역변수의 특성 - 선언된 함수 내에서만 접근이 가능하다 ( 지역변수 특성 )- 한번마나 초기화되고 프로그램 종료 시까지 메모리 공간에 존재 ( 전역변수 특성 ) 즉 , 접근의 범위가 전역변수보다 좁으나 전역변수의 risk를 제거하는 특성을 지닌다 , 훨씬 안정적이다. 다음 예제를 통해 전역변수의 특성을 알아보도록 하자 4행에서 simplefunc이라는 함수를 선언하고 정의한..
전역 변수 (Global Variable) 이번에 설명할 변수는 '전역변수'이다앞서 설명한 변수인 지역변수와는 매우 비교되는 함수다! 우리가 여태껏 사용해왔던 변수들은 호출된 시점으로부터 메모리 공간에 할당되서 함수가 종료되면 메모리 공간에서 소멸되는 지역변수 형태의 변수들이다. 이번 전역변수는 프로그램이 처음 실행되는 순간 메모리 공간에 할당되어 프로그램이 종료될 떄까지 메모리 공간에 남아있는 변수이다! 전역변수는 이름 그대로 언제 어디서든 접근이 가능한 변수로 지역변수와 달리 중괄호 내에 선언되지 않는다. 다음 간단한 예제를 통해 전역변수를 알아보자! 5행에서 num이라는 전역변수를 초기화하지 않고 선언만 하였다 , ( 보기와 같이 전역변수는 함수 몸체 내에 선언되지 않는다. 9헹에서는 함수 내부에 선언한 변수도 아닌 num을 출력을 시도한다..
지역 변수 (Local Variable) 앞서 우리는 변수에대해 뭐라고 설명했는가?변수는 데이터의 값을 저장할수 있는 메모리공간이다. 변수는 선언되는 위치에 따라서 크게 '전역변수'와 '지역변수'로 나뉘어진다! 그리고 그 둘 변수의 차이는 이러하다 - 메모리에 존재하는 기간- 변수에 접근할 수 있는 범위 두 차이점을 곰곰히 생각하며 이번 공부를 해보자! 이쯤에서 뭔가 생각이 생길것이다. 지역변수 ? 전역변수 ? 왜 두 변수의 이름이 저렇게 정의되었지? 지역? 전역? 왠지 아직 살펴보진 않았지만 어느정도 느낌이 온다. (오길 바래오........ 안와도 괜찮아오 앞으로 설명할꺼에오) 첫번쨰로 지역변수에 대해 설명하도록 하겠다. ( 진짜 너무도 중요한 부분!!!!!!!) '지역변수'에서의 '지역'은 말 그대로 일정하게 구획된 어느 범위를 말한다.즉..
운영체제의 개념 운영체제 : 컴퓨터 사용자와 컴퓨터 하드웨어간의 인터페이스를 제공하고 , 한정된 컴퓨터 시스템의 자원을 보다 효율적으로 사용할수 있도록 도와주는 시스템 소프트웨어로서 맨-머신 인터페이스 역할을 담당. 즉 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어간의 상호 정보 전달의 중간 매개체 역할을 담당하는 시스템 소프트웨어 컴퓨터 사용자 운영 체제 컴퓨터 하드웨어 컴퓨터 하드웨어는 기계이기 때문에 모든정보를 0(Off) 또는 1(On)이라는 전기 신호로 조합하여 처리하는데 이를 기계어 라고한다. 운영체제의 목적 →→→→시스템 성능 극대화 ---- 처리능력 증대 , 응답시간 단축 , 사용 가능도 증대 , 신뢰도 향상생산성 향상 --- →→→→사용자 편의 극대화 운영체제의 기능운영체제는 다음과 같은 기본적인 기능을 수..