목록분류 전체보기 (220)
NULL
전역변수라는 것은 ? 어느영역이든 접근가능하고프로그램시작과 동시에 메모리공간이할당되어 종료전까지 데이터가 소멸할일없다. 허나, 너무많이써버리게되면프로그램이 복잡해져버린다. 프로그램을 복잡하게 만드는 주범이다. 스파게티코드가 되지않게 꼭 써야할때만 쓰고왠만하면 쓰지않는게 적합하다. 전역변수는 기본적으로 0으로 초기화된다. static변수 라는것은 ? 선언된 함수 내에서만 접근이 가능하다. 딱 1회만 초기화되고 프로그램 종료 시까지메모리 공간에 존재한다. 이 말은 static변수가 1회 할당이 되고 나서해당함수내에서 static변수는 사라지고메모리영역에 남아서 값이 유지된다. 만약 초기화하지않아도 0으로 초기화된다. static지역변수는 전역변수보다 상대적으로 안정적이다. 그 이유는 ?전역변수는 어디서든지 ..
지역변수는함수의 몸체인 중괄호를 말합니다. 함수의 시작과 끝은 중괄호로 시작해서중괄호로 끝나게 됩니다. int main(매개변수){ 지역변수 } 그런데 매개변수도 지역변수에 해당됩니다. 변수로 예를 들어보자면 지역변수라는것은 a라는 지역에서num이라는 변수를 선언하면a라는 지역에서만 쓸수있습니다. b라는 지역에서 num을 전혀누군지 못알아봅니다. 그리고 b에서도 똑같이 num이라는 이름으로변수를 선언할수있지만. 둘중 전혀 다른 존재입니다.메모리주소값마저 다릅니다. 만약 a지역에 있는 num을b에서도 사용하고싶다면 함수로 인자를 전달받는다면값을 전달받을수있습니다. 한마디로자기지역안에서만 그 역할을 한다입니다.
함수를 만드는 이유는 main함수에 전부 소스를 정의하면복잡 할 뿐더러큰 문제의 기능을 한번에 정의하는거보다 기능을 조각조각쪼개서 정의하는것이 더 좋다. 함수하나마다 하나의 기능을하게 디자인해야한다. 함수의 자료형은 반환형태이며void가 아닌 자료형이 오면값을 반환할 목적이니return으로 값을 반환한다. 그다음 함수이름을 지정해주고 입력형태에는 매개변수가 들어오고인자를 받는 역할을 한다.( )괄호안에 위치해야되는것은 매개변수라고 한다. 매개는 둘 사이에 양편의 관계를 맺어준다는 뜻이다.매개변수도 마찬가지로 함수간에 변수관계를 맺는 역할이다. 그 후 이 그림을 보고각자의 위치마다 어떤 기능을 하는지재대로 이해 한 후 다음 이미지를 보면이해가 쉬울것이다. 쉽게 풀어 쓰자면 함수를 짤때 첫번째로값을 반환하는..
switch문은 버튼을 예로 들어서 총 5개의 버튼이 있다고 가정하면버튼마다 각자 다른 기능을 가지고있고다 실행되는게 아니라1번~5번중 선택실행을할수있는 기능을 합니다. 그것이 바로 switch문의 기능이자 장점입니다. 사용법은 간단합니다. 이렇게 사용하시면 됩니다. 맨위에 switch괄호안엔 조건과 마찬가지로 0이면 거짓이라서 default가 실행되며1이상이면 참이며case 숫자에 따라서 선택작동합니다.case마다 끝에 break를 걸어주는 이유는예를 들어서 만약에선택적실행이라서case 1만 실행을 해야되는데break를 안적어주면 만날때까지case 1 ~ n 까지 다 실행되버립니다.그러니 break는 필수입니다. if와 공통점이 있다면 조건에 맞으면 거기에맞는 기능이 실행됩니다. else와 같은 기능을..
break문과 continue문은조건에서 많이쓰인다. break문 뜻은 그대로 멈추다!continue문 뜻은 계속되다 입니다. 구조는 이러하다. 조건이 만족되면 그 안에 문장에다가적어주면 그 기능을 하게 된다. break문은 조건이 일치하면반복문을 빠져나와버리는 기능을 하며 continue문은 조건이 일치하면반복문은 계속 실행하되그 조건에 해당하는 것은값만 지닌채로 문장을 실행않아서해당조건은 제외하고나머지 조건을 실행하라는 기능입니다.
int num3은 num1이num2보다 크면num1 또는 참 아니면 num2 또는 거짓을 나타낸다. 이것은 if문으로도 대체할수있다. if(num1>num2){printf(num1);}elseprintf(num2); 이러한 형태이다. 삼항연산자의 장점은 if문에 비해소스코드를 간단하게 할수있다. 삼항연산자의 단점은 가독성이 떨어진다. 알아두면 편리하게 사용할수있다.
if문은 만약이라는 뜻을 가지고 있다. if문은 조건문으로써 조건이 참이면 실행하고 거짓이라면 실행하지않는다. (맞는지 아닌지 물어보는 느낌이다.) if else문은 조건이 여러가지일거같을때 쓰고 if가 거짓이 되면 실행된다. if가 아니라면 else if로 다른건 맞는지 물어보는 식이다. else if는 한계없이 얼마든지 쓸쑤있다. else는 모든 조건이 불 만족됬을때 최종적으로 실행된다. 구조는 이런식이다. if에서 조건을 물어보고 아니라면 else if로 다른 조건을 제시할수있다. 그다음 else는 모든 조건이 불일치면 최종적으로 실행되는 문장이다. 쓰는 느낌을 정리해보면 만약 이거라면 ~ 만약 아니라면 이것을~ 계속 물어보다가 아니라면 ~ 이걸주시오 이런 느낌으로 쓰면 된다.
for문도 반복문에 속합니다. for문의 구조는 while과 다르게 while은 초기식 조건식 증감식이 각자다른위치에 써야했는데 for문같은 경우는 괄호안에이 3가지들을 다 표현할수있습니다. 그러면 while과 for문의 차이점은 ? for문은 사용자가 지정한 n값까지 반복합니다.while문 역시 같은데 while은 정확히 몇번 반복할지 모를 경우자주 사용됩니다. do while문은 조건에 맞든 맞지않든 최초 1번 실행됩니다. do while은 실행 후 검사(이런 구조때문에 무조건 1번 실행하지요.) for과 while같은 경우는 검사 후 실행 중첩for역시 별다른건 없습니다for안에 for이 있는것뿐.
do while문은 사용법은 이러하며 do로 시작해서괄호마지막에 while에서조건을 검사합니다. 그래서 최초 한번은실행한다라는 말이 나오는겁니다. while같은 반복문들은조건을 먼저 검사하고 실행하는 방식인데do while은 실행하고 검사를 하는 방식입니다. 소스를 분석해보면 do로 시작해서Hello world!를 실행하고num을 1증가시키고while을 만나서 조건을 검사합니다. num=0이라고 가정하면0 1 2 총 3회 반복출력합니다. 중첩반복문은 그냥 쉽게 생각하면반복문안에 반복문이 있는것이기 때문에쉽게 생각하시면 됩니다. 조건이 일치할때까지 반복하다가불일치하면 반복문이 끝나는것을잘생각하시면 어려움이 없으십니다.
반복문은 말 그대로내가 반복하고싶은 문장을 반복한다. 반복문의 종류는 while말고도 do while, for이렇게 3가지가 존재한다. while문 사용법 이런식으로 사용하는 것이다. 소스 분석을 해보면 int num=0을 선언하고while(조건) 조건이 맞을시 { } 괄호 안에문장을 실행하는것이다. 그러면 num=0num이 3보다 작으니까다음문장을 실행하게 되고 Hello world! 0 을 실행하게 되고num++; num을 1증가시킨다. 그리고 다시 while로 돌아와서조건을 본다. num=1이며 여전히 3보다작으니문장을 실행하게 되고 Hello world! 1 을 실행하고num++; 또 1증가시키니까num=2가됩니다. 다시 while조건보고 num=2이며 3보다 작으니까 또 문장실행해서 Hello ..