본문 바로가기

Language /C 언어

(17)
포인터 ☞ 포인터란? 메모리의 첫번째 주소를 저장하기 위한 변수이다 ☞ 포인터를 선언할 때에는 *연산자를 사용한다. ☞ int형 변수 a에 2005의 정수값을 대입한다☞ pa는 int형의 주소를 저장하는 포인터 이다☞ 변수 pa에 a의 주소값을 대입한다. ☞ int &a - int형 변수 a의 주소값 즉 a의 주소값을 저장하기 위한 변수를 '포인트 변수'라고 한다 위 코드를 그림으로 표현하면 다음과 같다.☞ 주소값을 참조할때 사용하는 연산자 : & 연산자 변수 이름 앞에 &연산자를 붙이게 되면 해당 변수의 주소값이 반환된다 ☞ 포인터가 가리키는 메모리 참조 : *연산자 ☞ 포인터의 타입은 메모리를 참조하는 방법을 알려주는 역할이다.
변수 ☞ 변수는 선언되 위치에 따라서 크게 전역 변수와 지역 변수로 나뉜다. ☞ 전역 변수와 지역번수가 지니는 가장 큰 차이점 ① 메모리상에 존재하는 기간 ② 변수에 접근할 수 있는 영역 * 지역변수 ☞ 괄호 내에 선언된 변수 ☞ 지역 변수는 선언된 지역 내에서만 유효하다 ☞ 모든 매개변수는 지역 변수이다 - 매개 변수도 지역 변수가 지니는 모든 특징을 지닌다 ☞ 하지만 모든 지역변수는 매개 변수는 아니다 ☞ 지역변수를 다른 말로 자동 변수라고도 한다 지역 내에서 생성되었다가 지역을 벗어나면 자동으로 사라져 붙여진 이름 이다. ☞ 원칙적으로 지역 변수 선언시, 앞에 auto라는 키워드를 붙여 주게 되어있지만 생략이 가능하며, 일반적으로 생략한다. * 전역변수 ☞ 그 이름이 의미하는 것 처럼, 프로그램 어디에서..
함수 함수를 정의한다는 것은 기능을 지닌 함수를 만드는것이라고 할수 있다. 위의 함수는 int형 i와j의 합을 구하는 것이다.① 리턴타입 - i와 j의 합이 int이므로 반환되는 리턴 타입 또한 int형이다.② 함수명 - 함수의 이름을 정해주는것이다. 여기서는 Add라 정한다.③ 매개 변수 - 함수 호출시 전달되는 인자를 저장할 변수를 선언한다. 이를 매개 변수 선언 이라 한다.④ 값 반환 - 호출한 곳으로 resut값을 반환한다. return값이 0이면 정상종료를 뜻한다. void일 경우 생략할수 있다.
반복문 while / do while * while 문 ☞ while은 '반복 조건'이 만족되는 동안 '반복 내용'을 실행한다.({ 반복 내용 })☞ 진입시 조건 검사를 하고 참이면 반복내용을 실행 하며 반복할때 마다 다시 조건을 검사한다. 조건이 만족 되지 않으면 반복이 종료된다.☞ 반복 조건안에는 true또는 false로 단일 값이 반환되는 연산자나 단일 값만 들어간다. * do while 문 ☞ 우선 반복내용을 실행하고 뒤에 있는 반복조건을 검사한다.☞ 반복조건이 참이면 다시 반복 내용을 실행, 조건이 만족되지 않으면 반복을 종료한다.
반복문 for for초기문, 조건문, 증감문 모두를 기본적으로 포함가장 많이 사용되는 반복문 ☞ for문의 기본형태 for문의 시작과 동시에 한번만 초기문 실행하고, 조건문을 검사 후 참일때 반복 하고자 하는 내용을 실행하고 증감문을 실행한다. 초기문은 시작과 동시에 루프가 끝날때 까지 한번만 실행된다. ☞ for의 초기문, 조건문, 증감문은 반드시 채워야 하는 것은 아니며, 비워둘수도 있다.☞ 초기문이마 증감문은 콤마(,)를 이용하여 동시에 2개 이상의 명령을 할 수 있다. ☞ for문을 이용하여 -1,2,-3,4,-5,6의 곱을 구하시오☞ 이중 for문
분기문 switch switch도 if ~ else와 마찬가지로 조건에 따라 프로그램의 흐름을 분기 시키는 목적으로 사용된다. if ~ else을 간결해 보이게 한다는 장점을 지니고 있으나 사용될수 있는 영역은 if ~ else에 비해 제한적이다. <그림 10. switch 기본> ☞ case 1 : 실행 영역 구분 / case는 얼마든지 추가 할 수 있으며, 반드시 콜론(:)을 붙여야 한다.☞ default : 전달된 n에 해당하는 case가 없는 경우, 기본적으로 실행되는 영역이다. if ~ else의 else와 유사하다☞ break : break를 포함 시킨 이유는 switch의 특성 때문이다. ex: 조건부 n을 처음 case 1으로 가서 비교한 다음 다르다고 확인하면, case 2로 가서 비교한다. case 2이 ..
printf / 다양한 종류의 특수 문자 / 서식 문자의 종류와 의미 / 필드 폭 printf의 마지막 f는 formatted(서식화된)를 의미한다. ☞ 다양한 종류의 특수 문자특수 문자의 미\a경고음 소리 발생\b백스페이스(backspace)\n개행(한줄띄고 처음으로(캐리지 리턴)하는것을 말한다)\r캐리지리턴\t수평 탭\v수직 탭\\백슬래시(\)\’작은 따옴표\”큰 따옴표 ☞ 서식 문자의 종류와 의미서식 문자출력 형태%c단일 문자%d부호 있는 10진 정수(int)%s문자열%o부호 없는 8진 정수%u부호 없는 10진 정수%x부호 없는 16진 정수, 소문자 사용%X부호 없는 16진 정수, 대문자 사용%ee 표기법에 의한 실수%EE 표기법에 의한 실수%g값에 따라 %f , %e 둘 중 하나를 선택%G값에 따라 %F , %E 둘 중 하나를 선택%%% 기호 출력(ex:3% -> %%d) ☞ ..
scanf scanfscan함수는 printf함수와 사용방법이 거의 비슷하다. Printf는 출력 / scanf는 입력scan함수는 문자열로 입력을 받으려 하기 때문에 서식문자를 사용해서 변수의 값을 정해주면된다. <그림 8. scanf 예제> <그림 8-1. 실행 결과> ☞ %d : 10진수 정수 ☞ %o : 8진수 정수 ☞ %x : 16진수 정수