본문 바로가기

프로그래밍28

상수화 const constconst는 대상을 상수화 시키는 키워드이다.원래 c++에서만 존재하던 키워드 였는데, c언어의 표준을 재정립하는 과정에서 c언어의 일부가 되었다고 한다. const 사용시 대상은 항상 초기화가 되어있어야 한다. (값을 바꿀 수 없기 때문에 쓰레기값이 담기면 곤란. ) 변수의 상수화?1const int a = 10; 포인터의 상수화?123456789int a = 10;const int *p = &a;// 포인터 p가 가르키는 주소가 갖고 있는 값을 포인터p로는 변경 할 수 없게 된다. int * const p = &a;// 포인터 p가 가르키는 주소를 변경 할 수 없게 된다. const int * const p = &a;// 포인터p로 p가 가르키는 주소와 주소가 갖고 있는 값을 변경 할 수 없.. 2015. 1. 20.
콘솔창 제어, system() 함수 등. 콘솔창의 크기 조절.system("mode con:cols=100 lines=20"); * 콘솔창 전체 내용 지우기system( "cls" ); * 콘솔창 타이틀 변경SetConsoleTitle("문자열"); * 콘솔창 글자색 변경 (컬러는 0~15)SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_NANDLE ), i ); 2015. 1. 20.
C언어의 구조체 예제 1234567891011121314151617// 구조체// 구조체는 자료형으로 사용된다.// 매개변수로 이용 할 수 있다.// 기존의 포인터 변수들 처럼 사용 할 수 있다.// struct를 생략하기 위해서 typedef을 이용하여 줄인다.// typedef을 사용하지 않고 중괄호 뒤에 이름을 붙인 경우, 구조체 변수가 된다.// -> 구조체 선언과 동시에 변수를 하나 만드는 셈. // 함수 내에서 호출시// 구조체명->멤버 (* 우선 순위 주의)// 구조체[i].멤버 typedef struct UserInfo{ char Name[40]; int Age; float Height;} USINFO; 2015. 1. 20.
[C]문자열관련 함수, 메모리 관련 함수, 파일 관련 함수 예제 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081//// 문자열 관련 함수#include int strlen(char *str)// len은 "Length"의 약자// 문자열의 NULL을 제외한 길이 값을 정수로 리턴. int strcmp(char *str1, char *str2)// cmp은 "Compare"의 약자// 두 문자열을 비교하여 같을 경우 0, 다를 경우 0이 아닌 정수를 리턴한다. 리턴형은 int char *strcpy(char *dest_str, char *sour.. 2015. 1. 20.
배열 Array 과 배열을 이용한 문자열 배열 > 1차원 배열의 요소- 자료형, 배열이름, 배열길이?1int StdDay [14]; * 배열의 길이는 변수로도 선언 할 수 있으나, 과거 C표준에서는 배열의 길이를 반드시 상수로 처리하도록 하였기에 일부 컴파일러에서 에러가 날 수 있다. 배열에 값을 대입하는 방식들 ?12345678910111213141516int NumArray[5]; // 배열을 선언 후 NumArray[0] = 1; // 순차적으로 접근하여 하나씩 값을 넣어주는 방식NumArray[1] = 2;NumArray[2] = 3;NumArray[3] = 4;NumArray[4] = 5; int CharArray[5] = {'a','b','c','d','e'};// 배열의 길이와 배열의 내용을 동시에 입력하는 방식 int SteamS.. 2015. 1. 20.
전처리기 preprocessor, 기억류 storage class 전처리기 preprocessor#include?1#include - 비베 기존의 헤더파일을 불러올때 해당 해더를 ""로 감싸준다. ?1#include "myheader.h"- 커스텀 파일을 불러올땐, 상대경로나 절대경로를 적어주되, 이중따옴표로 감싸준다. #define- 컴파일시 단일문자나 문장을 상수로 혹은 명령어로 바꿈처리한다. ?123#define NUM 5#define SUM(X, Y) x+y#define HELLO {printf("HELLO"); printf("HELLO");} 기억류 storage class?1234auto int a;register int b;static int c;extern int d; auto - 일반적인 변수 선언에 사용하며 생략 가능하다.register - CPU 메.. 2015. 1. 20.
320x100