Languages/C

· Languages/C
FFmpeg 이란? 동영상, 오디오 편집 프로그램으로, VREW라는 앱에서 내부적으로 사용하는 라이브러리 이다. FFmpeg 설치 Download FFmpeg If you find FFmpeg useful, you are welcome to contribute by donating. More downloading options Git Repositories Since FFmpeg is developed with Git, multiple repositories from developers and groups of developers are available. Release Verification All FFmpe ffmpeg.org FFmpeg 사용법 동영상, 오디오 파일 포맷 바꾸기 # mp4 > avi..
· Languages/C
기본 개념 (함수포인터란?) 포인터 == 메모리 주소를 저장한 변수 함수포인터 == 함수의 메모리 주소를 저장한 변수 작동 아이디어 + 원리 Lookup 배열을 사용하면, 조건문을 획기적으로 줄일 수 있다. 이를 이용해, 배열 속에 함수 포인터(주소)를 넣는다면 조건문없이 조건에 맞는 함수를 출력하도록 할 수 있다! ( 개발이 편함 ) #include // 테스트를 위한 함수 void PrintFunc01(void){ printf("PrintFunc01\n"); } void PrintFunc02(void){ printf("PrintFunc02\n"); } void PrintFunc03(void){ printf("PrintFunc03\n"); } int main(void) { // 1. 함수 포인터 배열이..
· Languages/C
서문 이거 하면, 배열은 거의 마스터임 원하는 결과 결과 분석하기, 아이디어 찾기 [ 분석 ] 1. [0][4]에서 시작 2. 반시계 방향으로 돌기 3. 숫자 저장 4. 1칸 이동후, 숫자 1증가 5. (3)~(4) 반복 배열을 출발지점부터 'ㄱ' ,'ㄴ' 자 형식으로 잘라봤을때, 9칸 + 7칸 + 5칸 + 3칸 + 1칸 = 25칸 ( 등차수열 형식, 반복문 사용가능 -2 ) 0 ~ 칸수 / 2 범위는, 행이동 ( x값 변화 ) 칸수 / 2 + 1 ~ 칸수 범위는, 열이동 ( y값 변화 ) 행이동 + 열이동이 5번 반복됨 반복될때마다, 행이동과 열이동의 방향이 반대가 됨 [ 아이디어 ] 현재 위치를 인덱스로 저장하고, 반복문이 돌때마다 올바른 방향으로 인덱스를 바꾸자! 코드 void arraycross(..
· Languages/C
Lookup 배열이란? 정보검색 기능을 목적으로 사용된 배열!! 필요성 불필요한 중복문을 "아주 효과적으로" 제거해준다. 예제 void lookup(void){ // 나이정보는 선형구조이므로, lookup 배열을 만들어 사용할 수 있다. double aRate[10] = { 0.0, 0.1, 0.25, 0.5, 0.5, 0.6, 0.65, 0.8, 0.82, 0.97 }; int nAge = 0, i = 0, nFee = 1000; // 요금표를 출력한다. printf("요금표\n"); for (i = 1; i 10) nAge = 10; // 나이에 맞는 배열요소를 선택하고 별다른 제어문 없이 즉시 값을 출력 printf("최종요금 : %d원\n", (int)(nFee * aRate[nAge - 1]))..
· Languages/C
C언어란? 하나의 언어로 작성된 프로그램이, 여러개의 CPU에서 실행될 수 있도록 만든 프로그래밍 언어 ( CPU마다 프로그램을 따로 작성해주지 않아도 됨 ) 컴파일러란? C언어, 파스칼 등으로 구현된 프로그램 코드를 어셈블리어 혹은 기계어로 바꿔주는 프로그램 ( C언어에서 컴파일러란 말을 처음쓰기 시작했다. ) 링커란? 같은 CPU를 사용하더라도, 다른 운영체제를 사용하고 있다면 프로그램을 실행할 수 없다. ( OS마다 다른 커널을 가지고 있기에, 사용해야 하는 명령어가 달라진다. ) 링커는 기계어를 운영체제의 커널과 연결해, 운영체제가 실행할 수 있는 파일로 만들어준다. C언어 프로그램 실행과정 사람이 C언어로 명령어 작성하고 파일 저장 ( .c ) 컴파일러가 C소스파일을 CPU에 맞게 바꾼다. ( ..
· Languages/C
C언어를 사용하여, 코드 작성 작성한 코드를 파일로 저장 ( 소스파일 ) 선행처리기가, 작성된 코드에 따라 라이브러리를 미리 불러온다. 컴파일러가 C언어로 작성된 코드를, 기계어로 바꾼다. 링커가 오브젝트 파일과 라이브러리 파일, 시동 코드등을 합쳐 하나의 파일로 만든다 ( 링크 ) 만들어진 실행파일을 실행한다. 컴파일로 생성된 오브젝트 파일은, 운영체제와의 인터페이스를 담당하는 시동코드를 가지고 있지 않다
· Languages/C
Array 똑같은 형식(타입)의 데이터들의 모음 배열의 이름은, 배열이 시작하는 주소를 가리키고 있으며 이는 상수이므로 한번 할당하면 바꿀 수 없다 ( 포인터와 차이점 ) Array 만들기 #include void main(){ int ia[10]; // int타입의 10칸짜리 array를 만든다. ( 4바이트[1칸] * 10 의 메모리 공간 통째로 할당 ) // array 메모리공간의 첫주소를, ia라는 변수에 저장한다. ( 포인터 ) } 메모리 주소는 1바이트 단위로 지정되어있으므로, 그 주소를 가리키는 포인터도, 1바이트 단위로 밖에 지정하지 못한다. ( 1비트 단위 주소는 없다 ) 포인터 메모리 주소를 저장하기 위한 변수 함수포인터 함수의 첫번째 주소를 저장하고 있는 변수 변수를 함수처럼 호출할 ..
MOONCO
'Languages/C' 카테고리의 글 목록