본문 바로가기

C언어/복습

(18)
[C언어]DAY11_1차배열 포인터의 사용예 (내림차순 정리) //문제 : 포인터의 사용예#2 - 함수인자로 배열을 사용 //배열 10개에 들어있는 숫자를 큰 순서대로(내림차순) 정렬하는 프로그램을 작성하세요. #include #define SIZE 10 void swap(int *num1, int* num2){ int i = 0; int j = 0; int temp = 0; temp = num1[i]; num1[i] = num2[j]; num2[j] = temp; } void sort_array(int *num, int count){ int i = 0; int j = 0; for(i = 0; i
[C언어]DAY10_2차원 배열 2차원 배열 이해 - 메모리상에서 1차원에 연속으로 할당된다. #include #define COL 3 #define ROW 2 int main(){ int i = 0; int j = 0; int arr[ROW][COL] = { {65,66, 67}, {68, 69, 70} }; printf("%d\n", sizeof(arr)); //24bytes = 2(ROW)x3(COL)x4(byte) //출력 for(i=0; i
[C언어]DAY8, 9_포인터, 배열이름의 의미와 인덱스 의미, 포인터와 배열이름 포인터, 메모리주소 - 메모리란 ? 저장공간 - 주소란 ? 메모리안에서 저장공간의 위치 - 변수란? 메모리안에서 할당된 저장공간. 값을 저장.1, 'a' - 포인터란 ? 주소를 저장하는 변수 &: 어드레스 연산자(주소 연산자) 변수앞에 붙이면 변수의 주소를 알아낼 수 있다. * : 참조연산자 변수에 담긴 주소에 있는 데이터(포인터가 가리키는 데이터) #include int main() { //변수 선언 (값을 저장하는 변수) int num1 = 10; int num2 = 20; //포인터 선언 (주소를 저장하는 변수) int * p_num = NULL; //0과 같은 포인터 변수의 디폴트 값 p_num = &num1; //&num1: num1의주소를 p_num에 대입. //출력(변수에 들어있는 값을 읽기..
[C언어]DAY7_지역변수, 전역변수, 배열 지역변수(local)와 전역변수(global)의 이해 구분: 선언된 위치에 따라. 1. 지역변수 : 함수안 2. 전역변수 : 함수바깥 지역변수와 전역변수의 유효범위(Scope) 지역변수이름이 같을 때 우선순위 변수의 생존기간과 저장위치 1. 전역변수: 프로그램이 시작과 함께 생성되어 종료시에 소멸된다. 2. 지역변수: 함수가 호출될 때 생성되어 함수 호출이 끝날 때 소멸된다. 저장위치 1. 코드영역 : 코드가 저장됨. readonly. 계속 살아있음. 2. 데이터영역 : 전역변수, 정적변수(static), 리터럴상수. 프로그램실행하는 동안 계속 살아있음. 3. 스택영역 : 지역변수, 매개변수(=지역변수)가 저장. 함수가 호출될 때 생성되었다가 함수호출이 끝나면 소멸. 4. 힙영역 : 프로그래머가 사용. ..
[C언어]DAY6_while(반복문), do whlie, 함수 while (반복문), do while : 흐름제어 - break : 반복문 탈출 - continue: continue이하의 문장을 스킵. 반복계속 - return: 프로그램 종료 #include int main() { int i=0; //while //형식 : while(조건) {조건이 참이면 실행} while(i
[C언어]DAY5_다중(multiple) if, switch문, 단일 for문, 중복 for문 다중(multiple) if #include int main(){ //변수 선언과 초기화 int score = 100; //점수 char grade = 'A'; //학점 //점수를 입력받아서 계산 printf("점수를 입력하세요 > "); scanf_s("%d", &score); printf("점수 %d을(를) 입력하셨습니다.\n\n", score); if (score >=90){ grade = 'A'; } else if (score >=80){ grade = 'B'; } else if (score >=70){ grade = 'C'; } else if (score >=60){ grade = 'D'; } else { grade = 'F'; } printf("학점은 %c입니다.\n\n", grade); } ..
[C언어]DAY4_데이터 타입, if문 기타 데이터 타입 정리 문자 char //1byte 양수 음수, 0 unsigned char //1byte 0, 양수 정수 short int //2byte unsigned short int //2byte long int //4byte unsigned long int //4byt 실수 float //4byt double //8byt if문 #include int main(){ int a = 1; int b = 2; //형식 if(조건식) {조건식이 참일 때 실행} //else{앞의 조건식이 거짓일 때 실행} //관계연산자 if(a>b){ printf("%d이(가) %d보다 크다\n", a,b); } else{ printf("%d이(가) %d보다 크다\n", b,a); } //논리연산자 사용 //사용자로부터..
[C언어]DAY3_표준입력, 연산자 이해, 연산자 이해2, 기타연산자 표준입력 기본입력 함수 : scanf(), scanf_s() * scanf_s() : 기존(scanf)의 오버플로우 overflow 문제를 해결하기 위하여 나온 함수. s = safe 형식 1. 형식지정자를 사용하여 데이터를 입력받아 2. 변수에 저장. #include int main(){ //변수 선언과 초기화를 동시에 하는 것은 좋은 습관! *** int number = 0; double number2 = 0.0; //형식지정자 사용 //변수명 앞에 주소연산자 &(엔퍼센트) //정수입력 printf("정수를 입력하세요 > "); scanf("%d", &number); printf("%d이(가) 입력되었습니다.\n\n", number); //&주소 연산자를 붙인 경우 //&변수 : 변수의 주소값 (ad..