본문 바로가기

C언어36

[C언어 예습]DAY13_포인터(1) 포인터(1) : 가리키는 것, 주소를 가리키는 것. - 포인터 변수 - 포인터 상수 : 배열 변수(저장공간): 값 포인터(저장공간): 주소값 - &data / &(주소연산자)변수(저장공간) - int *PData / int(자료형)*(포인터연산자) - *PData / *(참조연산자) : 가서 읽어라. 100페이지 피세요~ : 포인터 100페이지 읽으세요~ : 참조 포인터의 크기는 컴파일러마다 다름. 32bit 에서는 자료형 상관없이 무조건 4byte. 64bit 에서는 자료형 상관없이 무조건 8byte. 선택정렬(오름차순) 9 1 8 5 6 1회전 1 9 8 5 6 2회전 1 5 6 8 9 3회전 1 5 6 8 9 4회전 1 5 6 8 9 #include void sort(int *arData, int .. 2020. 2. 5.
[C언어 예습]DAY12_함수의 응용(계산기) 함수의 응용 계산기 (함수 사용, 헤더파일 사용) 출력예) 계산기 10*4 40 string.h strcmp(): 문자열 비교 strcmp(값, 값) 두 값이 같으면 0 리턴 char oper[3] = {' ', }; if( !strcmp(oper, "+") ){ 같을 때 실행할 문장 } #include #include #include"calculator.h" void calc(int, char[3], int); void main() { int num1 = 0; int num2 = 0; char oper[3] = { ' ', }; printf("계산기\n"); scanf_s("%d%c%d", &num1, oper, sizeof(oper), &num2); //printf("%d%s%d\n", num1, o.. 2020. 2. 4.
[C언어 예습]DAY11_함수의 선언과 사용 함수 function - 함수를 사용하는 이유: 반복되는 문장들을 쉽게 관리하기 위해서. 특정성을 주면 x, 재사용의 목적이 있기 때문에. f (x) = 2x+1 함수명 매개변수 리턴값 - 함수의 선언 리턴타입 함수명(자료형 매개변수, ...) { 실행할 문장; return 리턴값; } - 함수의 사용 함수명(값1, 값2, ...); * 함수 주의사항! 함수는 선언시 반드시 다른 함수 외부에서 선언해야 한다. 하지만 사용은 가능하다. - 함수 선언시 순서 * 틀을잡는다. * 1. 함수명을 선택한다.(동사, 리턴타입은 처음에 void로 준다.) 2. 매개변수를 선택한다. 3. 실행할 문장과 리턴값을 생각한다. #include //f(x)= 2*x+1 (단, x는 정수) int f(int); void mai.. 2020. 2. 4.
[C언어]DAY12_문자열 문자열 (= 문자의 배열) - 문자배열의 특징 1. 문자의 끝을 알려준다. 문자열의 끝에 null(=0)을 저장해줘야 함. 2. char 형 사용. (1byte) : 문자(아스키코드)는 0 ~ 127까지이므로 1byte로 충분. - 문자열 선언 : char 배열명[배열크기] - 문자열의 끝 : null charater (0) - 배열의 크기 : 문자열의 길이 + 1 (null을 넣어야하기 때문에) #include #define MAX 100 int main(){ int i = 0; //문자열 초기화1 char str[MAX] = {72, 101, 108, 108, 111, 0}; //Hello의 ascii code char *p_str = str; //배열의 이름은 주소, 주소는 포인터에 담는다. //문.. 2020. 2. 1.
[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 2020. 2. 1.
[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 2020. 2. 1.