웹_프론트_백엔드/단과 85

[단과_C] 2020.03.23

1. char*(포인터 변수)는 대입연산자(=)를 쓸 수 있고 scanf_s()는 불가능하다  2. char[](포인터 상수)는 대입연산자(=)를 쓸 수 없고 scanf_s()는 가능하다  3. 구조체(변수의 집합) 1) 타입이다. 2) 묶음이다. 4. 구조체 선언 1) struct 태그명 { //회사에서는 주로 구조체명이라고 안부르고 태그명이라고 부름         멤버변수명;         ...    };    2) typedef struct 태그명 {         멤버변수명;         ...    } 타입으로 사용할 태그명; 5. 구조체 사용 1) struct 구조체명 변수명 = { 초기값, ... };    struct 구조체명 변수명 = NULL;    구조체명.멤버변수명 = 값;   ..

[단과_C] 2020.03.20

1. dArTask.c#include#include#includevoid sortASC(int arData[], int length);void sortDESC(int arData[], int length);void main() { //정수 개수 입력받고 그 만큼 할당하기 //입력받은 정수로 오름차순(void 함수) 또는 내림차순(void 함수) 선택 후 결과 출력 //1.오름차순\n2.내림차순\n3.나가기 int* dArNum = 0; int length = 0; int choice = 0; char* dot[] = { ".", "..", "..." }; char* loading[] = { "■□□□□□□□□", "■■□□□□□□□", "■■■□□□□□□", "■■■■□□□□□", "■■■■■□□□□",..

[단과_C] 2020.03.19

1. void 포인터  : 타입이 정해져있지 않은 포인터    사용시 형변환 후 사용 2. 동적 배열1) 동적할당(Dynamic allocation)    malloc(크기) : 리턴타입은 void*이다.    malloc(), 엠 얼로케이션, 말록이라고 불리움    헤더파일 필요   3. 자료형* 포인터명 = (자료형*)malloc(sizeof(자료형)*칸수);  4. 칸 수에 변수 사용이 가능하다.     int* arData = (int*)malloc(sizeof(int)*length); 5. 동적 할당 clear(clear allocation)  : 모든 비트를 0으로 만들어준다(초기화랑 개념이 다름)    자료형* 포인터명 = (자료형*)calloc(칸수, sizeof(자료형)); 6. 동적 ..

[단과_C] 2020.03.18

1. 포인터(주소값)    포인터 변수    포인터 상수(배열) : 값을 변경하기 위해서는 strcpy() 필요      변수 : 값을 담기 위한 저장공간    포인터 변수 : 주소값을 담기 위한 저장 공간    포인터 변수를 줄여서 포인터라고 부르기도 한다. 2. 포인터를 사용하는 이유 1) return값은 반드시 한 개여야 하기 때문에 포인터를 사용한다.    주소값은 유일하기 때문에(중복이 없기 때문에)    주소값을 다른 영역에 전달하면 (참조로 접근해서)값을 수정할 수 있다. 3. 포인터 확인하는 방법 1) 중단점 : F9 2) 디버그 : F5 3) 디버그클릭 > 창 > 자동 > 주소값 우클릭 > 값 복사 클릭 4) Ctrl + Alt + m, 1 : 메모리1 창 5) 주소 붙여넣기 6) 다음 ..

[단과_C] 2020.03.17

1. 다른 파일의 변수를 사용하고 싶을 때는 전역변수로 선언한 후 사용할 파일에서 extern키워드로 선언한다.  2. 다른 파일의 함수를 사용하고 싶을 때에는 헤더파일에 선언 후 사용할 파일에서 #include키워드로 사용한다.  3. 전역 변수가 먼저 있었고 메모리 관리를 위해 지역 변수가 생김  4. 오늘 실습 코드1) 헤더파일 선언 후 함수 사용, 다른 파일에 있는 변수 사용하기 예제** storage_class.c **#include//정적변수는 해당 파일에서만 사용 가능하다.//static int data = 100;//전역변수는 다른 파일에서 extern 키워드로 선언하면 사용 가능하다.int data = 100;//void main() {// //function();// printf("%d..

[단과_C] 2020.03.16

1. 기억 저장 부류   해당 파일만 가능 : 정적변수    다른 파일도 가능 : 전역변수  2. 오늘 실습 코드1) functionTask.c#include#include/* [고급] 4자리 정수를 한글로 바꿔주는 함수 5개의 정수를 오름차순으로 정렬하는 함수*///5개의 정수를 입력받고 최소값과 최대값을 구해주는 함수//int* getMaxAndMin(int arData[], int length) {// //result[0] : 최대값// //result[1] : 최소값// int result[2] = { arData[0], arData[0] };// for (int i = 1; i arData[i]) {// result[1] = arData[i];// }// }// return result;..

[단과_C] 2020.03.13

1. 헤더파일  : 기존 헤더파일은 로 추가하고    사용자가 만든 헤더파일은 ""로 추가한다.    페이지 상단(헤드)에 포함시키기 때문에 헤더파일로 명명하고    여러 함수들을 정의해놓은 후 다른 파일에 포함시켜 사용한다.  2. 헤더파일 생성(헤더파일 우클릭 > 추가 > 새항목, Ctrl + Shift + A) 3. 함수를 사용하는 이유 1) 반복되는 기능(작업)을 쉽게 관리하기 위해서, 재사용의 목적     리턴값이 있고 특정성을 부여해서는 안된다.    2) 소스코드 간결화    대부분 리턴값이 없다. 4. 리턴을 사용해야 할 때  : 함수 내에서 모든 작업이 완료되지 못할 때    사용하는 부분에 작업의 결과를 알려야 할 때 5. 리턴을 사용하지 않을 때  : 함수 내에서 모든 작업이 완료될 ..

[단과_C] 2020.03.12

1. 함수  : 이름()    단, 키워드()는 함수가 아니다.    예) for(), if(), ...는 함수가 아니다.   2. 함수의 정의     (1)리턴타입 (2)함수명(자료형 (3)매개변수, ...) {              (4)실행할 문장;              (5)return 리턴값;     }     (1) 리턴값의 타입을 작성한다. 만약 리턴이 없으면 void를 작성한다.     (2) 동사로 작성한다(연필(매개변수)을 쓴다(함수)).     (3) 생략이 가능하다. 매개변수가 없으면 외부에서 값을 전달받을 수 없다.     (4) 생략이 가능하다.     (5) 생략이 가능하다. 3. 함수 정의시 주의사항  : 선언은 함수 밖에서, 사용은 함수 안에서 한다.    사용하는 라인..

[단과_C] 2020.02.27

1. 오늘 실습코드1) boss.c  #include#define R 3#define C 2void main(){ //강남점 (일반 키즈) //신촌점 (일반 키즈) //홍대점 (일반 키즈) //각 지점별 매출액 저장소(2차원 배열 3행 2열) int arrIncome[R][C] = { 0, }; //지점 명칭에 규칙성 부여 //포인터자료형 앞에 const는 참조상수 //포인터명 앞에 const는 상수 char arBranchName[R][100] = { "강남점","신촌점","홍대점" }; //수정 가능 //const char* arBranchName[R] = { "강남점", "신촌점","홍대점" }; //수정 불가능 //연령별 명칭에 규칙성 부여 char arAgeName[C][100] = { "일반..