본문 바로가기

전체 글52

13 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 1. 배열의 이름(상수 형태의 포인터)은 배열의 시작 주소 값을 의미하며, 그 형태는 값의 저장이 불가능한 상수이다. 2. TYPE형 포인터를 대상으로 n의 크기만큼 값을 증가 및 감소 시, n * sizeof(TYPE)의 크기만큼 주소 값이 증가 및 감소합니다. 3. 변수 형태의 문자열, 상수 형태의 문자열 4. 큰따옴표로 묶여서 표현되는 문자열은 그 형태에 상관없이 메모리 공간에 저장된 후 그 주소 값이 반환된다. 배열의 이름은 상수 형태의 포인터이다. 따라서 * 연산도 가능 서식문자 %p : 주소 값의 출력 배열의 이름은 대입 연산자의 피연산자가 될 수 없다.(값의 저장이 불가능) 동일한 .. 2023. 5. 12.
12 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 C언어에서는 시작번지만을 가지고 위치를 표현한다. 포인터 변수란 메모리의 주소 값을 저장하기 위한 변수이다. 포인터 변수 선언 type * ptr; //type형 변수의 주소 값을 저장하는 포인터 변수 ptr의 선언 & 연산자 : 피연산자의 주소 값을 반환 * 연산자 : 포인터가 가리키는 메모리 공간에 접근 포인터의 형이 존재하는 이유는 포인터 기반의 메모리 접근기준을 마련하기 위함이다. 포인터 변수에는 메모리의 주소 값이 저장되고, 이를 이용해서 해당 메모리 공간에 접근도 가능하다. int * ptr1 = 0; //아무 데도 가리키지 않는다. 포인터 : 메모리에 직접 접근 포인터 변수 : 메모.. 2023. 5. 5.
11 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 배열 한 번에 많은 수의 변수를 선언 다수의 데이터를 저장하고 처리하는 경우에 유용 1차원 구조의 배열 선언 : 자료형, 배열이름, 길이정보(가급적 상수) 배열의 위치 정보를 명시하는 인덱스 값은 1이 아닌 0에서부터 시작한다. 채울 값이 존재하지 않는 요소들은 0으로 채워진다. 배열의 이름을 대상으로 하는 sizeof 연산의 결과로는 '바이트 단위의 배열 크기'가 반환된다. 문자열의 저장을 목적으로 char형 배열을 선언할 경우에는 특수문자 '\0'이 저장될 공간까지 고려해서 배열의 길이를 결정해야 한다. 아스키코드 값 널 문자 : 0 공백 문자 : 32 scanf 함수 호출문 구성 시, 데이.. 2023. 4. 28.
10 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 문제풀이 2023. 4. 21.
09 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 [1] 함수 값이 반환된다는 것은 함수의 호출문이 반환 값으로 대체되는 것으로 이해할 수 있다. 다양한 형태의 함수 정의 1. 전달인자와 반환 값이 모두 있는 경우 2. 전달인자나 반환 값이 존재하지 않는 경우 ex) void suyeon27(void) // 인자전달 X, 반환 값 X : void는 '인자를 전달하지 않는다.', '반환하지 않는다.'라는 뜻이 담겨있다. return이 지니는 2가지 의미 중 1가지 의미만 살리기 1. 함수를 빠져나간다. 2. 값을 반환한다. 함수는 호출되기 전에 미리 정의되어야 한다. main을 포함한 모든 함수는 조건 및 상황에 관계없이 다른 함수를 호출할 수 .. 2023. 4. 14.
08 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 분기를 통해 프로그램의 흐름을 원하는 형태로 컨트롤 "조건을 만족하는 if문이 발견되면 나머지 if문은 건너뜁니다." if문은 몇 줄에 걸쳐서 표현되건 하나의 문장으로 인식된다. { 코드 읽기 쉽도록 } 1. 조건 연산자 ex) (num1>num2) ? (num1) : (num2); => (조건) ? (참) : (거짓); 2. while문 break : 가장 가까이서 감싸고 있는 반복문 하나를 빠져 나오게 된다. continue : 조건 검사 이동 3. switch문 ex) switch(n) { case 1: printf("*"); printf("**"); break; //탈출 case 2: p.. 2023. 4. 7.
07 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 while(1) //무한루프 { //반복의 대상이 되는 문장들 } break문 //빠져나오기 do~while : 반복영역을 최소한 한 번은 실행하는 구조 do { //반복의 대상이 되는 문장들 } while(조건식); for문 for ( 초기식; 조건식; 증감식 ) { //반복의 대상이 되는 문장들 } *반복의 대상이 한 줄이면 중괄호 생략 가능 1. 초기화는 반복문의 시작에 앞서 딱 1회 진행된다. 2. 조건의 검사는 매 반복문의 시작에 앞서 진행된다. 3. 증감연산은 반복영역을 실행한 후에 진행된다. =>for문의 실행방식은 구조적으로 while문의 실행방식과 동일하다. for문의 중간에 위.. 2023. 3. 31.
06 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 %g는 소수점 이하의 자릿수가 늘어나면 e표기법으로 출력한다. 서식문자 사이에 들어가는 숫자를 기준으로 필드 폭이 결정된다. float, double, long double의 데이터 출력에 사용되는 서식문자는 각각 %f, %f, %Lf이다. float, double, long double의 데이터 입력에 사용되는 서식문자는 각각 %f, %lf, %Lf이다. 2023. 3. 24.
05 출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010. 몰랐던 or 까먹었던 내용 위주 정리 "자료형은 데이터를 표현하는 방법" 자료형 별 크기를 정확히 제한하고 있지 않다. (컴파일러마다 차이를 보임) 컴퓨터는 정수와 실수를 표현하는 방식이 다르기 때문에 최소 둘 이상의 자료형이 필요하다. sizeof연산자를 사용하면 자료형의 크기를 확인할 수 있다. 보편적으로 사용하는 자료형 - int(형변환 때문) - double(출력%f, 입력%lf) unsigned를 붙이면 0과 양의 정수만 표현할 수 있다. 표현할 수 있는 값이 0 이상의 범위로 2배가 된다. 정수 자료형의 이름 앞에만 붙일 수 있다. MSB도 데이터의 크기를 표현하는 데 사용된다. int와 signed int는 같은 선언이.. 2023. 3. 17.