본문 바로가기

Programming

(99)
static 변수 (static variable) 이번에 설명할 변수는 스테틱 변수다.static은 전역변수와 지역변수 모두 선언을 추가할 수 있다. 이번에는 지역변수에 추가하는 상황을 설명할 것 이다! 우리가 아는 지역변수는 접근의 범위가 선언된 함수 내에서만으로 제한되어져 있다. 지역변수에 static 선언을 하게되면 지역변수와 전역변수의 특성을 둘다 가질수 있다. static 지역변수의 특성 - 선언된 함수 내에서만 접근이 가능하다 ( 지역변수 특성 )- 한번마나 초기화되고 프로그램 종료 시까지 메모리 공간에 존재 ( 전역변수 특성 ) 즉 , 접근의 범위가 전역변수보다 좁으나 전역변수의 risk를 제거하는 특성을 지닌다 , 훨씬 안정적이다. 다음 예제를 통해 전역변수의 특성을 알아보도록 하자 4행에서 simplefunc이라는 함수를 선언하고 정의한..
전역 변수 (Global Variable) 이번에 설명할 변수는 '전역변수'이다앞서 설명한 변수인 지역변수와는 매우 비교되는 함수다! 우리가 여태껏 사용해왔던 변수들은 호출된 시점으로부터 메모리 공간에 할당되서 함수가 종료되면 메모리 공간에서 소멸되는 지역변수 형태의 변수들이다. 이번 전역변수는 프로그램이 처음 실행되는 순간 메모리 공간에 할당되어 프로그램이 종료될 떄까지 메모리 공간에 남아있는 변수이다! 전역변수는 이름 그대로 언제 어디서든 접근이 가능한 변수로 지역변수와 달리 중괄호 내에 선언되지 않는다. 다음 간단한 예제를 통해 전역변수를 알아보자! 5행에서 num이라는 전역변수를 초기화하지 않고 선언만 하였다 , ( 보기와 같이 전역변수는 함수 몸체 내에 선언되지 않는다. 9헹에서는 함수 내부에 선언한 변수도 아닌 num을 출력을 시도한다..
지역 변수 (Local Variable) 앞서 우리는 변수에대해 뭐라고 설명했는가?변수는 데이터의 값을 저장할수 있는 메모리공간이다. 변수는 선언되는 위치에 따라서 크게 '전역변수'와 '지역변수'로 나뉘어진다! 그리고 그 둘 변수의 차이는 이러하다 - 메모리에 존재하는 기간- 변수에 접근할 수 있는 범위 두 차이점을 곰곰히 생각하며 이번 공부를 해보자! 이쯤에서 뭔가 생각이 생길것이다. 지역변수 ? 전역변수 ? 왜 두 변수의 이름이 저렇게 정의되었지? 지역? 전역? 왠지 아직 살펴보진 않았지만 어느정도 느낌이 온다. (오길 바래오........ 안와도 괜찮아오 앞으로 설명할꺼에오) 첫번쨰로 지역변수에 대해 설명하도록 하겠다. ( 진짜 너무도 중요한 부분!!!!!!!) '지역변수'에서의 '지역'은 말 그대로 일정하게 구획된 어느 범위를 말한다.즉..
함수 정리 절차지향적 성격을 띄는 C언어에서 함수는 전부라고 말해도 과언이 아닌것 같다. 모든 C에는 함수가 없는 코드가 없다. 함수로 시작해서 함수로 끝나는 언어인 C언어의 함수를 정리해보자. 초반부에서 함수에 대해 언급한 적이 있는데 그 당시 그림을 다시 살펴보자 반환형태 함수 이름 입력형태int main (void) { 함수 몸체 } 이러한 구조의 그림을 기억하자! 이것 또한 정말 중요한 내용이다! 입력(전달인자)와 그에 따른 적절한 반환값이 존재하는것이 함수라고 앞서 얘기했다. 그러나 c언어에는 전달인자가 없거나 반환값이 없는 경우의 함수들도 존재한다. C언어에는 총 4가지 종류로 함수를 나눌수있다.1) 전달인자가 있고 반환값이 있는 경우 2) 전달인자가 있고 반환값이 없는 경우 3) 전달인자가 없고 반환값..
if 문 그리고 else 여태까지는 모든 문장이 하나도 빠짐없이 순서대로 실행되는 구조의 예제들이였다. 하지만 이번 if문을 이용하면 , 코드의 흐름을 제어할수 있다 즉 , 프로그램에 유연성을 부여할 수 있는 것이다. if문을 이용한 조건적 실행흐름 분기의 가장 기본은 if와 else 로 이루어진 if~else문이다 . 그러나 if는 독립적으로도 사용되어 '조건적 실행'이 가능하다!! if문은 다음과 같은 구조를 가진다. if(num1>num2){printf("num1이 num2보다 큽니다."); } 위 코드를 그냥 읽어보자 , 음.. 만일 num1이 num2보다 크면 "num1이 num2보다 큽니다."라는 문자열을 출력하라는건가..? 맞다 , 정확하다 그럼 다음 예제를 통해 if문의 동작방식을 좀 더 구체적으로 확인해보자! 7..
For 문 ? for문 또한 while문과 같이 반복문중 하나로 자주 이용된다. for문의 필수요소에 대해 알아보자! -필수요소 1 초기식 : 반복을 위한 변수의 선언 및 초기화에 사용 -필수요소 2 조건식 : 반복의 조건을 검사하는 목적으로 선언됨 -필수요소 3 증감식 : 반복의 조건을 '거짓'으로 만드는 증가 및 감소연산 그리고 for문을 통해 위 3요소를 한데 묶을수 있다. for( 초기식 ; 조건식 ; 증감식 ; ){//반복하고자 하는 내용} 예시를 보자 for( i=0;i
Do ~ while 문 ? 이번엔 Do ~ while문에 대해 설명하도록 하겠다. do while 또한 while문과 같이 반복문이다. 그리고 비슷한 성격을 가지고 있다. 다만 , 반복의 조건을 검사하는 시점에 차이가 있다! do~while문의 기본구성 do~while문은 while문과 달리 반복조건을 뒤에서 검사한다. 이렇듯 반복조건을 뒤에서 검사하기때문에 반복조건이 만족하지 못하면 한번도 실행하지 않는 while문과는 달리 반복영역을 최소한 한번은 반복하도록 되어있는 구조이다. 예시를 살펴보자 int num=4; do{printf("Hello World! \n");num++; }while(num
While문 ? 이번에는 반복문 중 하나인 While문에 대해서 알아보도록 하자! while문은 특정 조건을 주고 그 조건을 만족하는 동안 특정영역을 계속 반복하는 구조이다. 코드를 살펴보자 while(num