본문 바로가기

X-dea

(120)
포인터 포인터 연산 T형 포인터register변수 외에 변수들은 메모리에 저장되므로 이 변수의 번지를 가리키는 포인터 변수를 항상 선언할 수 있음. 포인터 변수 선언임의의 타입 T가 있을 때 T형의 포인터 변수를 선언할 수 있음.ex) int* pNum; 선언시 주의) int *i, j; // i는 포인터, j는 정수형int *i, *j; // i와 j 모두 포인터포인터의 타입포인터가 가리키는 번지에 들어있는 값, 즉 포인터가 가리키는 실체를 대상체(object)라고 함.컴파일러가 포인터 연산에 대해 대상체의 크기만큼 앞뒤로 이동시킬 수 있으려면 이 포인터가 가리키는 대상체의 타입이 무엇인가를 알아야 함. 그래서 포인터 변수를 선언할 때 가리킬 대상체의 타입을 명시하는 것. 포인터형 변수의 타입은 포인터가 가리..
배열 배열 배열의 정의배열은 동일한 타입을 가지는 변수들의 유한 집합. 배열의 선언type 배열명[크기][크기]...; 배열의 특징배열은 기본형과는 달리 여러 개의 변수를 하나의 이름으로 모아 놓은 것. 그래서 기본형 변수들과는 다른 면이 많음. 특징1. 배열 요소의 번호인 첨자는 항상 0부터 시작함.2. 배열이 차지하는 총 메모리양은 배열의 크기에 배열 요소의 크기를 곱해서 구함.3. 배열을 선언할 때 크기값은 반드시 상수로 주어야 함.4. C언어는 배열의 범위를 전혀 점검하지 않음. 다차원 배열2차원배열은 첨자 두 개를 사용하는 배열임. 선언할 때 배열명 다음에 두 개의 크기를 나란히 적어 주면 됨. 2차원 배열의 선언ex) type 배열명[3][6]; 배열명배열을 구성하는 각각의 요소는 배열 타입의 변수..
기억 부류 지역변수 전역변수와 지역변수기억 부류(Storage Class)란 변수가 저장되는 위치에 따라 결정되는 변수의 여러 가지 성질을 의미함. 변수가 어디에 생성되는가에 따라 통용 범위와 파괴 시기 등의 특징이 결정됨. 전역변수의 메모리는 프로그램이 종료되면 파괴됨. 전역변수는 정적 데이터 영역에 생성됨. 정적 데이터 영역이란 프로그램의 코드 바로 다음에 위치하는 실행 파일의 한 부분인데 프로그램이 실행될 때 메모리로 로드되어 실행 중에 계속 유지됨. 지역변수는 스택에 생성됨. 전역변수는 별도의 초기화가 없어도 0으로 초기화됨.지역변수의 장점1. 함수의 독립성을 높임2. 지역변수는 디버깅 효율을 향상시킴3. 지역변수는 메모리를 절약함4. 재귀 호출이나 상호 호출 같은 특별한 기법은 지역변수가 있어야만 사용가능..
함수 함수의 구성원리 함수의 정의함수는 프로그램을 구성하는 단위로서 프로그램의 부품 역할을 함. 프로그램과 함수의 관계는 컴퓨터와 그 부속품들의 관계와 유사함함수사용자 정의 함수 기본 형식type name(인수 목록){함수의 본체}인수인수는 호출원에서 함수에게 넘겨주는 작업 대상ex : PrintScore(int x, int y, int Score)(x, y, Score가 인수)return인수가 호출원으로부터 전달되는 작업 대상이라면 리턴값은 함수가 호출원으로 돌려주는 작업 결과.ex)double div(double a, double b){if(b == 0) {return 0;}return a / b;}void형 함수함수에서 리턴할 값이 없는 함수도 있는데 이런 함수를 void형 함수라고 함.ex) 반복적인 ..
연산자 산술 연산자 연산자의 종류더하고 빼고 곱하고 나누는 동작을 하는 것들이 연산자. 산술 연산자산술 연산자는 더하고 곱하고 빼고 나누는 가장 기본적이고 가장 많이 사용되는 연산자.워낙 일상에서 많이 쓰이는 것이므로 패스.대입 연산자대입이란 변수에 어떤 값을 집어넣는 동작이며 대입 연산자는 변수의 값을 변경할 때 사용.수학 문제 풀듯이 a = 1 + b; 좌변 우변으로 나눠서 우변의 것을 좌변에 대입한다 라고 생각하면 됨. 증감 연산자증감 연산자는 피연산자를 1씩 증가시키거나 감소시킴.a = a + 1a += 1a++이 세 가지는 같은 의미(1증가)를 지니고 있음. 증감연산자 중 ++a or a++이라는 연산자가 있는데 이것이 가장 주의해야할 연산자임.전위형(prefix) : ++a, --a 같은 경우는 무조..
제어문 조건문 if문조건문이란 주어진 조건에 따라 명령의 실행 여부를 결정하는 문장임. if문 형식=> if(조건) {명령; } if문에 들어가는 조건 블록구조ex1 : if ( 조건 ) printf("1_line"); ex2 :if ( 조건 ){printf("1_line"); printf("2_line");} ex1처럼 조건문에 처리할 명령어가 한줄 일때(세미콜론기준)는 중괄호로 블록을 안 만들어 줘도 되지만 명령어가 여러 줄일 경우엔(ex2의 경우) 중괄호로 묶어주어야 복수의 명령들이 실행이 정상적으로 된다.else기본 if문은 조건이 만족할 때 특정 명령을 실행할 것인가 아닌가만 지정하는데 비해 else문은 조건이 만족되지 않을 때의 동작까지도 같이 지정함. else문 형태if ( 조건 ) 명령1;else..
변수 변수C는 다양한 데이터 타입을 제공한다. 프로그래밍의 가장 기본적인 도구이다. 변수의 정의변할 수 있는 수, 즉 고정되어 있지 않은 수라는 뜻 변수명을 작성하는 법칙의미를 잘 설명할 수 있는 이름변수명의 길이에는 제약이 없지만 3~10자 내외로 작성하는 것이 좋음대소문자 구성을 일관되게 하는 것이 좋음변수명은 보통 짧은 영어 단어를 활용 변수의 종류변수는 메모리 위치를 기억한다. 그러나 실제로 컴파일러가 변수를 참조할 때는 메모리 번지를 참조하는 것이 아니라 번지에 기억된 값을 참조한다. 변수의 선언선언이란 컴파일러에게 앞으로 어떠한 이름을 가진 어떤 타입의 변수를 사용하겠으니 준비해 달라고 부탁하는 것 입출력입출력을 통해 변수의 값을 확인하거나 처리 결과가 어떻게 나오는지 보기위해 입출력 명령을 사용할..
변수 타입 및 크기 & 실수의 부동소수점 연산 & 변수 선언방법 변수 타입의 필요성메모리를 효율적으로 관리하기 위해 변수 타입의 종류정수를 표현하기 위한 정수형 변수실수를 표현하기 위한 실수형 변수사용자가 정의한 자료형을 표현하기 위한 사용자 정의형 변수아무것도 정해지지 않은 타입을 표현하기 위한 void형 변수 정수형정수형은 고정소수점 방식으로 부호부와 정수부로 나누어서 표현함 부호부 : 양수이면 0, 음수이면 1을 사용정수부 : 저장할 데이터의 숫자를 절대값 2진수로 변환하여 저장 정수형의 종류문자를 표현하기 위해서 사용하는 문자형 정수(char)숫자를 표현하기 위해서 사용하는 일반형 정수(short int, short, int, long int, long) 실수형실수형의 표현은 부동소수점 방식으로 부호부, 지수부, 가수부로 나누어서 표현함 부호부 : 양수이면 0..