
포인터와 문자열 포인터 배열 배열 포인터는 이차원 배열의 전체를 가리키는 용도로 사용 형식 : 데이터형 (*포인터명 )[배열 크기]; * int (*p)[5]; : int[5]배열을 가리키는 포인터 * char (*p2) [10]; : char[10]배열을 가리키는 포인터 * double (*p3)[4]; : double[4] 배열을 가리키는 포인터 * STUDENT (*p4)[3]; : STUDENT[3]형 배열을 가리키는 포인터 포인터 배열은 주소를 보관하는 배열임 포인터 배열을 이용하여 각 변수를 참조하는 것이 가능함 여러 개의 문자열을 하나로 묶어 처리하는 방법으로 문자 포인터 배열을 이용할 수 있음 배열 포인터 배열 포인터란 배열 전체를 가리키는 포인터로 사용됨 배열 포인터 선언 형식은 “데이터..

포인터 활용 [1]포인터로 배열 참조 배열명 : 배열의 시작 주소를 의미하는 상수 배열의 시작 주소를 구할 때는 & 없이 배열명만 사용 배열명을 포인터처럼 사용 가능 인덱스를 사용하는 대신 배열의 시작 주소로 포인터 연산 을 하면 배열의 특정 원소에 접근 가능 *(arr+i 는 arr [i] 를 의미 배열의 시작 주소에서 데이터 타입 i개 크기만큼 증가된 주소에 있는 값 배열의 시작 주소로 초기화된 포인터를 이용해서 배열의 모든 원소에 접근 가능 포인터 변수를 배열 이름인 것처럼 사용 가능 포인터와 +,- 연산 * p + N : p가 가리키는 데이터형 N개 크기만큼 증가된 주소가 연산의 결과 * p - N : p가 가리키는 데이터형 N개 크기만큼 감소된 주소가 연산의 결과 [2]포인터와 배열 원소 배열의..

포인터 기초 포인터 이해 포인터 : 다른 변수의 주소를 저장하는 변수 포인터의 선언 : 데이터형 변수명이 필요함 * char* : char형 변수의 주소 저장 * int* : int형 변수의 주소 저장 * double* : double형 변수의 주소 저장 포인터 이용 포인터 초기화 : &, &데이터 변수, *포인터 변수 포인터 오류 포인터도 변수이므로 반드시 초기화 해야 함 포인터 변수를 초기화하지 않고 사용하면 실행 에러가 발생함 널포인터: 포인터가 다른 변수를 가리키지 않을 때는 NULL(0)로 초기화함 포인터를 안전하게 사용하려면 우선 포인터가 널 포인터인지를 검사 포인터 변수의 데이터형이 반드시 포인터 변수가 가리키는 변수의 데이터형과 일치해야함

문자열 [1]문자열 기초 문자열 : 연속된 문자들의 모임 문자열 상수 값이 변경되지 않는 문자열 A나 “Hello World” 등 - 문자열 리터럴이라고도 함 문자열 변수 • 프로그램 수행 중에 변경될 수 있는 문자열 - 문자 배열 배열의 크기는 상수로만 지정한다. [2]문자열 선언과 초기화 1) 문자열 표준 입력 1.scanf * 입력된 문자열을 str 배열에 저장 * 공백 또는 enter 전까지 입력된 문자열을 저장 * 함수 형식 : int scanf (“%s", str); 2.gets() * 공백을 포함한 문자열 입력 * char* gets(char * str); * enter를 0’ 으로 변환하여 저장 2) 문자열 표준 출력 1.printf() * 형식문자열 "%s"를 이용 * 문자 배열명을 pr..

[1] 선언과 초기화 고급언어와 저급언어의 특징 : 동일한 이름으로 참조되는 연속된 메모리에 할당된 자료 구조 같은데이터 타입을 묶어서 하나의 공간처럼 사용할 수 있는 자료 구조 용어 * 요소(elements) : 배열을 구성하는 각 항목 * 배열(Array)명 : 전체 공간에 대한 대표 이름(변수명) * 크기 : 배열요소의 개수 * 첨자(Index) : 각 요소에 부여되는 위치 정보 배열 같은 데이터형의 변수들을 메모리에 연속적으로 할당하고 같은 이름으로 사용하는 자료구조 배열의 선언 배열 원소의 데이터형, 배열 이름, 배열의 크기가 필요함 배열의 크기는 상수로만 지정한다. 배열의 사용 배열의 각 원소에 접근하려면 인덱스를 사용함 인덱스는 항상 0~(배열의 크기-1)사이의 값임 배열의 초기화 배열을 초..

지역변수 * 변수 스코프(Scope) : 변수 참조가 가능한 유효범위 * 함수 내에 선언된 변수, Local Variable * 변수가 선언된 블록에서만 유효한 변수 * 함수가 시작 시 생성, Stack에 생성 * 함수가 종료되면 변수도 소멸 * 초기화 전 쓰레기 값을 가지고 있음 * 매개변수도 지역변수 [1]유효범위 변수가 선언된 블록에서만 유효 함수 시작 시 생성되고 종료 시 소멸 생성 시 쓰레기값을 가짐 매개변수도 지역변수임 선언된 블록에서 유효 전역변수 * 프로그램 내 전체 함수에서 유효, Global Variable * 프로그램 시작 시 생성, 데이터 영역에 생성 * 프로그램 종료 시 소멸 * 함수 밖에서 선언 * 자동으로 0으로 초기화 * 전역변수는 프로그램 전체에서 참조하므로 복잡성을 증대 ..

함수,f(x) * 특정한 작업을 수행하는 문장을 모아둔 단위 * 라이브러리 함수, 사용자 정의 함수 * 프로그램에서는 연산의 결과 출력되는 형태 [1]함수 이해 : 장점 코드가 중복되지 않고 간결함 코드의 재사용성이 증가함 프로그램의 모듈화가 증대됨 유지보수가 용이함 [2]함수 정의 형식 리턴형 함수명 (데이터형 매개변수명[, 데이터형 매개변수명,..]) { 문장; } 함수 정의 형식 - 리턴형 * 함수는 처리 후 결과를 함수를 호출한 곳으로 값을 보내줄 수 있음 * 리턴되는 값의 데이터 타입이 함수의 리턴형 * 리턴에 의해 반환할 수 있는 값은 한개임 * void, char, int, float ... 매개변수(Argument) * 함수 호출 시 입력값을 전달하는 역할 * "," 로 구분하여 여러 개 ..

[1]if문 * 조건에 따라 분기되는 if문은 크게 3가지 형태 * if문 내에서 중첩해서 if문 사용 가능 * 수행하는 문장이 한문장이면 { } 생략가능 [2]switch case문 switch(값) { case 값1 : 문장1-1; 문장1-2; break; case 값1 : 문장2-1; 문장2-2; break; .... default : 문장d1; 문장d2; } (1)입력문 - scanf() * 표준입력으로부터 다양한 자료를 지정한 변수에 저장 * 형식지정자(%d %c %f) 사용 * 공백, enter전까지를 입력 * 형식 : scanf("형식지정자", &변수명) (2) 정수입력 / 형식지정자 : %f(float) %if(double)