일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- c
- 영상처리
- C++
- Windows 10
- 딥러닝
- 시스템프로그래밍
- 운영체제
- 쉘
- C언어
- 공부
- 회귀
- 백준알고리즘
- TensorFlow
- error
- shell
- python
- CV
- 리눅스
- 알고리즘
- 코딩
- 프로세스
- 학습
- 프로그래밍
- 텐서플로우
- OpenCV
- 백준
- linux
- 턱걸이
- Computer Vision
- Windows10
- Today
- Total
목록공부/C (12)
줘이리의 인생적기

Index 지역 변수 전역 변수 정적 지역 변수 레지스터 변수 값 전달 방법 주소 전달 방법 1. 지역 변수 지역 변수는 일정 지역인 함수 내 범위에서 사용가능한 변수이므로 다른 함수에서는 사용할 수 없다. auto예약어와 함께 선언 하지만 생략 가능하다. 지역 변수는 이름이 같아도 선언된 함수에 따라 저장 공간이 따로 갖습니다. 2. 전역 변수 함수 밖에서 선언하는 변수를 전역 변수라고 한다. 사용 범위는 프로그램 전체이므로 함수로 제한되지 않는다. 문제점 ① 전역 변수 이름을 바꾸면 사용되는 변수를 모두 찾아 수정해야 한다. 문제점 ② 함수 내에 같은 이름의 지역 변수를 선언 시 그 영역에서는 전역 변수를 사용할 수 없다. 3. 정적 지역 변수 지역 변수와 static 예약어와 같이 선언하면 정적 지..

Index strcpy strncpy strcat, strncat strlen strcmp, strncmp 1. strcpy char배열의 단점은 다른 문자열로 바꾸려면 문자를 하나씩 옮겨야 하는 번거로움이다. strcpy(string copy)를 이용하면 문자열을 쉽게 복사할 수 있다. strcpy(복사 받을 곳, 복사할 내용) 복사 받을 곳이 위치하고 있는 첫 번째 인수는 char 배열이나 배열명을 저장한 포인터만 사용 가능하다. 복사할 내용이 위치하고 있는 두 번째 인수는 시작 위치를 알 수 있다면 어떤 것이든 사용 가능하다. (strcpy 함수 원형이 있는 string.h 헤더파일을 인클루드 해야한다.) 2. strncpy 복사할 때 문자의 수를 지정할 수 있다. strncpy(복사 받을 매열명,..

Index 문자열 상수 구현 char 포인터 gets 문자열 입력 fgets 문자열 입력 fflush puts, fputs 1. 문자열 상수 구현 컴파일러는 문자열을 char 배열 형태로 따로 보관하고 문자열 상수가 있던 곳은 배열의 위치 값을 사용한다. (주소로 접근하여 문자열을 바꾸는 것은 위험, 문자열 상수를 읽기 전용 메모리 영역에 저장하기 때문) 2. char 포인터 문자열을 char포인터에 대입하면 문자열에 이름을 붙여 사용할 수 있고, 다른 문자열로 쉽게 변경 가능. char포인터 예제 #include int main(void) { char* ch = "apple"; printf("입력 문자 : %s\n", ch); ch = "banana"; printf("변경 문자 : %s\n", ch);..

Index 아스키코드 getchar, putchar scanf의 문자 입력 과정 1. 아스키코드 아스키코드는 128개의 문자를 0~127의 숫자 중에 어떤 값으로 표현할지 정의한 것 2. getchar, putchar scanf함수로 문자를 입력할 때는 %c 변환 문자를 사용한다. 공백이나 개행 문자와 같은 제어 문자도 입력하므로 주의해야 한다. 예제 #include int main(void) { int c; c = getchar(); printf("입력문자 : "); putchar(c); putchar('\n'); return 0; } 실행결과 개행 문자까지 출력이 된 상태이다. 3. scanf의 문자 입력 과정 버퍼는 데이터를 보관하는 역할, 필요한 데이터를 한꺼번에 저장해놓으면 scanf 함수는 호..

Index 메모리 주소 &(앰퍼샌드) 포인터, 간접 참조 연산자 주소와 포인터의 이해(차이, 크기, 사용하는 이유) 1. 메모리 주소 프로그램이 사용하는 메모리의 위치를 주소 값으로 식별할 수 있다. 바이트 단위로 구분되어 진다. int형 변수 a가 메모리 1000번지부터 할당되었다면 1000부터 1003까지 4바이트로 할당된다. 2. &(앰퍼샌드) 변수가 메모리 어디에 할당되었는지 궁금할 때 주소 연산자(&)를 사용한다. 주소 알아보기 예제 #include int main(void) { int a; double b; char c; printf("int형 변수의 주소 : %u\n", &a); //%u나 %x로 알아볼 수 있다. printf("double형 변수의 주소 : %u\n", &b); printf..

Index 배열 선언 배열 초기화 sizeof를 활용한 배열처리 char형 배열 선언, 초기화 문자열 대입 gets, puts 1. 배열 선언 동일한 자료형을 저장할 저장 공간이 많이 필요한 경우 '배열' 사용. (주의사항 : 요소의 개수가 5개면 첨자는 0부터 4까지 사용) 2. 배열 초기화 최초 할당된 저장 공간에는 쓰레기값이 저장되어 있어서 선언과 동시에 초기화를 해야 한다. //첫 번째 초기화 방법 : 모든 요소 값 설정 int arr[5] = {1,2,3,4,5}; //두 번째 초기화 방법 : 0부터 차례대로 초기화하고 남은 요소는 0으로 채워짐 int arr[5] = {1,2,3}; //세 번째 초기화 방법 : 모든 요소를 0으로 초기화 int arr[1000] = {0}; //네 번째 초기화..

Index 함수 정의 함수 호출, 반환 함수 선언 매개변수가 없는 함수 변환값이 없는 함수 매개변수, 변환값이 없는 함수 재귀함수 1. 함수 정의 함수 정의 : 함수를 실제 코드로 만드는 것이며 기능을 구현 2. 함수 호출, 반환 함수 호출 : 함수 호출을 해야 함수 사용 가능 3. 함수 선언 함수 선언 : 컴파일러에 어떤 함수를 사용할 것이라고 정보를 주는 역할 함수 정의, 호출, 반환, 선언 예제 #include int sum(int x, int y); // sum 함수 선언 int main(void) { int a = 2, b = 3; int result; result = sum(a, b); // sum 함수 호출 printf("result : %d\n", result); return 0; } in..

Index while for do ~ while 중첩 반복문 break, continue 1. while 조건식을 먼저 검사하고 조건식이 참인 동안 실행문 반복 while문 예제 #include int main(void) { int a = 1; while (a < 10) { a *= 2; } printf("a는 %d\n", a); return 0; } 실행결과(충분한 생각을 가진 후 누르기) 더보기 2. for while문과 비슷한 반복문, 증감식으로 반복 횟수를 제어 for문 예제 #include int main(void) { int a = 1; int i; for (i = 0; i < 5; i++) { a = a * 2; } printf("a는 %d\n", a); return 0; } 실행결과(충분한..