반응형

분류 전체보기 98

(9-2)struct

열거형 (enumeration)- '정수'를 미리 열거해놓은 자료형- 가독성 향상 용도로 쓰임- 기본 값 0 (값을 지정하지 않았을 때)- 값이 지정되지 않으면 앞의 숫자보다 1 증가- 원하는 정수를 어느 위치던 대입할 수 있다.- 항목 이름이 중복되면 안 된다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include enum ENUM1 { A1, B1, C1, D1, E1 };enum ENUM2 { A2 = 1, B2, C2 = -200, D2, E2 }; enum _LANGUAGE // _LANGUAGE 이름은 필요가 없어서 _ 붙임 (구조체 ..

C/C언어 이론 2018.10.03

(9-1)struct

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081// 구조체 안에 구조체// 매개변수로 사용 #include typedef struct _POINT{ int x; int y;} POINT; // 구조체 안에 다른 구조체를 멤버로 가지려면, 그 구조체가 더 위에 미리 선언되어야 한다.typedef struct _CIRCLE{ POINT sPoint; // 좌표 (원점) int iLen; // 반지름} CIRCLE; // [선언]void SetCircleVal( CIRCLE sCircl..

C/C언어 이론 2018.10.03

(8-4)Pointer

12345678910111213141516171819202122232425262728293031323334353637383940#include // [선언]void PrintArr( int * pArr, int iArrLen ); void main(){ int iArr1[5] = {10,20,30,40,50}; int iArr2[10] = {1,2,3,4,5,6,7,8,9,10}; int iArrLen = 0; // 배열의 모든 요소를 출력하는 함수를 만들고 호출하자! // 함수 내부에서는 배열의 길이를 알 수 없기 때문에, // 함수 호출 전에 미리 길이를 구해서 같이 전달한다. iArrLen = sizeof(iArr1) / sizeof(iArr1[0]); PrintArr( iArr1, iArrLen ..

C/C언어 이론 2018.10.03

(8-3)Pointer

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485#include void main(){ /* 배열과 포인터 - 배열명은 첫 번째 요소의 주소 (시작주소/첫번째byte) > 2차원 배열에서 [][] 인덱스를 하나만 [] 사용하면 한 행의 시작주소 - 배열변수를 포인터변수에 저장하면 똑같이 다룰 수 있다. > 차이점 1. 크기 2. 변수의 연산 여부 */ int iArr[5] = { 1,2,3,4,5 }; int * pArr = iArr; // iArr가 주소 값이기 때문..

C/C언어 이론 2018.10.03

(8-2)Pointer

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include // [선언]void SwapValue(int iNum1, int iNum2);void SwapRef(int * pNum1, int * pNum2); void main(){ /* 함수에서 매개변수를 통해 값을 전달 받는 방법 1. Call by Value - 값에 의한 호출 - 우리가 여태 함수를 호출했던 형태 - 실제 '값'을 전달 받는다. 2. Call by Reference (address) - 참조에 의한 호출 (주소에 의한 호출) - 포인터변수를 매개변수로 사용하여 '주소 값'을 받는다. > 함수 외부의 변수..

C/C언어 이론 2018.10.03

(8-1)Pointer

1234567891011121314151617181920212223242526272829303132333435#include void main(){ /* 포인터 변수의 크기는 4byte이다. > 주소 값을 저장하는 공간 > '주소 값'은 컴파일러/PC환경에 따라 값의 크기가 다를 수는 있지만, (2,4,8..) 적어도 모두 같다. (2라면 모두 2인 것, 4면 모두 4) > 그냥 4라고 생각하자!! */ char cNum = 0; int iNum = 0; float fNum = 0.0f; double dNum = 0.0; char* pcNum = &cNum; int* piNum = &iNum; float* pfNum = &fNum; double* pdNum = &dNum; printf("cNum의 크기 ..

C/C언어 이론 2018.10.03

(7-4)Array

1234567891011121314151617181920212223242526272829303132333435#include void main(){ // 2차원 문자배열로 동물이름 입력 받기 char szArrAnimal[3][20] = {0, }; // 20글자 문자열이 3개 int i = 0; int iArrLen = 0; // 20칸 * 3개 (60byte) / 1개 행의 크기 (20byte) --> 3 (행의개수) iArrLen = sizeof(szArrAnimal) / sizeof(szArrAnimal[0]); // 1차원이던 2차원이던 배열에서 인덱스를 사용해서 요소에 접근한다! // 특정 칸이 지정되어야 그 자료형 공간을 의미 // 1차원 : iArr[1] --> 2번째 요소 // 2차원 /..

C/C언어 이론 2018.10.03

(7-3)Array

다차원 배열 : 2차원 배열만 사용한다고 생각!!int iArr[2][3] = {0, };2행, 3열 - 2중for문의 i,j 순서와 동일***012***345 2차원배열은 그림은 2차원으로 표현하지만, 실제 생성되는 공간은 1차원(가로 방향) iArr[1][2] = 6; // 정상iArr[2][1] = 6; // 없는 공간 [0][0][0][1][0][2][1][0][1][1][1][2] 2차원배열 생성 시 초기값 넣기int iArr[2][3] = { {1,2,3}, {4,5,6} };int iArr[2][3] = {{1,2,3}, {4,5,6} }; 12345678910111213141516171819202122232425262728293031323334353637383940414243#include..

C/C언어 이론 2018.10.03

(7-2)Array

1234567891011121314151617181920212223242526272829#include void main(){ /* 문자열 입출력 함수 gets, puts */ char szAddr[40] = {0, }; /* printf("주소를 입력하세요 : "); scanf("%s", szAddr); // 이때는 &가 필요 없다~~! // & 를 사용한다 = 공간의 주소 값이 필요하다 // 배열명은 그 자체가 배열의 첫 번째 요소의 주소 값이다. printf("주소는 %s입니다.\n", szAddr); // scanf는 공백(띄어쓰기)로 값을 구분한다. // 공백이 포함된 문자열은 %s로 저장하기가 힘들다. */ puts("주소를 입력하세요 : "); gets( szAddr ); // 입력 받을 배..

C/C언어 이론 2018.10.03

(7-1)Array

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include #include // 문자열 관련 함수를 사용하려면~~ 필요하다! void main(){ /* char 배열 - char는 1개 문자를 표현하는 자료형 - char의 배열 형태는 "문자열"을 표현할 수 있다. - 문자열의 끝에는 널문자 \0 가 삽입되어있다. (자동) > 문자열의 끝을 의미 > 널문자 때문에 배열 선언 시 원하는 문자열 길이보다 최소 1이상 여유있게 선언해야 한다. > 널문자의 포함때문에 변수명의 접두사에 sz가 붙는다. string-zero */ char szStr..

C/C언어 이론 2018.10.03
반응형