본문 바로가기

Programming/C Language

(40)
C 정리2 Function- 큰 작업을 작은 작업들로 나눈다.- 코드의 재사용성을 높인다. 함수의 정의- 필요로 하는 함수를 정의해서 사용할 수 있다.- main함수 또한 정의하여 사용하는 함수다. 프로그램이 실행되면 운영체제에서 가장 먼저 호출하는 함수가 main() 이다.함수의 prototype을 선언해놓으면 함수의 내용을 나중에 정의할 수 있다.또한 함수의 prototype에서는 인자의 이름을 생략할 수 있다. 헤더파일-stdio.h : standard input / output ( 입출력과 관련된 함수들 )-string.h : 문자열과 관련된 함수들-math.h : 수학과 관련된 함수들-stdlib.h : 메모리 관리 , 랜덤 등 다양한 함수를 제공이 외에도 다양한 표준 라이브러리 헤더파일이 존재한다. st..
C 정리1 메모리에 저장되는건 0,1 뿐이며 메모리에 동일하게 저장되어 있더라도 여러 방법으로 읽을 수 있음.따라서 메모리에 데이터를 읽고 쓸 방법 ( 자료형 ) 을 정해줘야 한다. -변수의 선언과 초기화 지역변수는 초기화하지 않으면 쓰레기값이 들어가고 전역변수와 static변수는 초기화하지 않으면 0으로 초기화 된다. 문자열 상수 - 0개 이상의 문자들의 sequence , 문자열의 끝을 알려주기 위하여 맨 뒤에 Null ( '\0' )이 붙음. 심볼릭 상수 - 값을 변경할 수 없는 변수로 const 키워드를 사용. 반드시 선언과 동시에 초기화해야 한다. 연산자산술 연산자 : + , - , * , / , % 관계 연산자 : > , >= , < , != , == ...etc논리 연산자 : && , ||증감 연산자 ..
포인터 사용하는 모든 변수는 메모리의 특정 위치에 저장되고 그 위치에 대한 메모리 주소를 포인터라고 한다. 포인터 변수는 주소값을 저장하는 특별한 변수다. 포인터 변수가 어떤 변수의 주소를 저장하고 있다는 것은 포인터 변수가 그 변수를 가리키고 있다( 포인트 하고 있다 ) 는 의미가 된다. 포인터 변수를 간단히 '포인터'라고 부르기도 한다. 다음과 같이 하면 포인터 변수를 사용하여 다른 변수를 액세스할 수 있다. int i; //정수형 변수 i 선언int *ptr = &i; // 포인터 변수 ptr에 i의 주소값 저장 포인터 선언은 다음과 같이 한다. 자료형 * 포인터 변수명;1)자료형은 포인터 변수 자체의 자료형이 아니라 포인터 변수에 저장할 주소에 있는 일반 변수의 자료형이다.2)포인터변수 이름은 일반 변수..
Data Structure 배열 배열(Array)은 같은 자료형을 가진 자료들을 나열하여 메모리에 연속으로 저장하여 만든 자료형들의 그룹이다. 예를들어 , 요일을 나타내는 월,화,수,목,금,토,일요일을 각각 변수로 선언하면 7개의 변수를 만들어 개별적으로 사용해야 한다. 하지만 읻르을 묶어서 하나의 배열을 만들면 하 번의 배열 선언으로 만들수 있고 , 각 요일은 배열의 요소가 되어 다루기가 편하다. 1차원 배열 선언법:자료형 배열이름 [배열 요소 갯수]; 1)자료형 : 자료형에서는 배열의 자료형을 선언한다 , 배열 요소들은 모두 같은 자료형이여야 하고 , 그 자료형이 배열의 자료형이 된다.2)배열이름 : 배열이름은 변수이름과 같은 규칙으로 정한다. 3)배열 요소 갯수: 요소 갯수는 대괄호를 이용하여 표시하는데 , 이는 배열의 크기가 된..
내용 보충 배열에 저장된 문자열 데이터는 변경 가능 ex) char str[]="Good Morning!";str[12]="?"; printf("%s",str); -> Good Morning? "문자열"을 입력받는 배열의 이름 앞에는 & 연산자를 붙이지 않는다. ( 문자열 배열 이름자체가 배열의 주소값을 의미 ) &연산자의 피연산자는 변수여야 하며 , 상수는 피연산자가 될 수 없다. * 연산자 : 포인터가 가리키는 메모리를 참조하는 연산자& 연산자: 변수의 주소값을 반환하는 연산자 배열의 이름 또한 포인터다. ( 단 , 그 값을 바꿀수 없는 상수 형태의 포인터다.)배열의 이름은 배열의 시작 주소값을 의미하며 , 그 형태는 값의 저장이 불가능한 상수이다.
반복문 예제 AZ + ZA --------- 99 를 만족하는 모든 A와 Z 구하기 가능한 모든 수의 조합을 시도하기 위해서는 반복문 중첩이 필요할 것 같다. #includeint main(void){ int A,Z; //10의자리와 1의자리 반복을위한 변수 선언 int result; //합을 저장할 변수 result 선언for(A=0;A
반복문 예제 구구단을 출력하되 짝수 단 (2,4,6,8단)만 출력또한 2단은 2x2까지 , 4단은 4x4까지 , 6단은 6x6까지 , 8단은 8x8까지만 출력하도록 구현(continue & break 를 응용) 곰곰이 생각해봐서 문제를 풀어내긴했지만 continue와 break에 약해서 continue와 break를 응용하여 풀진 못했다.. #include int main(void){int i,j; // 구구단 반복을 위한 변수 i , j 선언for(i=0;i
예제풀이중 보충내용 double형 자료형- 입력받을때는 서식문자 %lf 사용- 출력할때는 서식문자 %f사용 함수를 사용하면 코드가 간결해짐 ( 이왕이면 예제풀이할때 함수를 자주 사용해보기) 코드를 짤때 감이 안잡히는경우 입력과 출력을 중점으로 전반적인 그림을 그린후 코드화하기 함수에서 return값만 준다고 자동으로 출력시켜주진 않음.함수를 실행시켰을때 값을 출력해주길 원하면 함수 몸체부에 printf 선언 후 return값을 넣어줘야함. 리터럴 상수 : 값의 변경이 불가능한 상수심볼릭 상수 : 변수와 마찬가지로 이름을 지니는 상수 ( const 상수 , 매크로 이용 상수 ) 연산시 피연산자의 자료형이 일치하지 않아 발생하는 자동 형 변환은 데이터의 손실을 최소화하는 방향으로 진행됨. 아스키 코드 ( ex: A = 65 ,..