본문 바로가기

Programming399

[c] 함수의 인자로 배열 전달하기 #include void fct(int *arr2); int main(void){int arr1[2] = { 1,2 };fct(arr1);printf("%d\n", arr1[0]);return 0;} void fct(int *arr2){printf("%d\n", arr2[0]);arr2[0] = 3;} 1. 함수 오랜만에 본다..2. 어레이를 선언하고 초기화 했는데 함수에서는 포인터 형태의 매개변수를 사용하네?3. 배열 이름은 첫 번째 요소의 주소 값을 의미하는 상수 포인터이다...4. 그래서 fct 함수의 매개 변수 타입이 int 형 포인터이다. #include int ArrAdder(int* pArr, int n); int main(void){int arr[10] = {1,2,3,4,5,6,7,8,9.. 2017. 5. 14.
[c] 배열 요소로 포인터를 지니는 포인터 배열 #include int main(void){int a = 10, b = 20, c = 30;int* arr[3] = { &a, &b, &c }; printf("%d\n", *arr[0]);printf("%d\n", *arr[1]);printf("%d\n", *arr[2]); return 0;} 1. 배열 요소로 포인터를 넣을 수 있다.2. 포인터는 주소값을 저장하는 변수 이다. #include int main(void){char * arr[3] = {"Fervent-lecture","TCP/IP","I LOVE YOU"}; printf("%d \n", &arr[0]);printf("%d \n", &arr[1]);printf("%d \n", &arr[2]); printf("%s \n", arr[0]);pr.. 2017. 5. 14.
[c] String Pointer Array #include int main(void){char str1[5] = "abcd";char *str2 = "ABCD"; printf("%s \n", str1);printf("%s \n", str2); str1[0] = 'x';//str2[1] = 'x'; printf("%s \n", str1);printf("%s \n", str2);return 0;} 1. 어레이와 포인터로 문자열을 저장하고 변경하는 방법2. 어레이 문자열의 경우 변수이기에 변경가능하나, 포인터 문자열의 경우 한가지 요소를 변경하는 것은 불가능하다. 2017. 5. 14.
[c] Pointer calculation #include int main(void){int* ptr1 = 0;char* ptr2 = 0;double* ptr3 = 0; printf("%d, %d, %d \n", ptr1++, ptr2++, ptr3++);printf("%d, %d ,%d\n", ptr1, ptr2, ptr3);return 0;} 1. 포인터 연산에서 증가 감소는 포인터 타입에 따라 변한다... 신기하네... #include int main(void){int arr[5] = { 1,2,3,4,5 }; int* pArr = arr;printf("%d\n", *pArr);printf("%d\n", *(++pArr));printf("%d\n", *(++pArr)); printf("%d\n", *(pArr + 1));printf("%d\.. 2017. 5. 14.
[c] Pointer & Array #include int main(void){int a[5] = { 0,1,2,3,4 };printf("%d, %d\n", a[0], a[1]);printf("%d, %d\n", &a[0], &a[1]);printf("Array name: %d\n", a);return 0;} * a 라는 어레이를 선언하고 초기화 할때 머리속에서 메모리 구간 만들기 총 4열을 만든다. 1열은 이름, 2열은 메모리 주소, 3열은 메모리 블럭 갯수, 4열은 값을 그린다.* 배열의 이름은 첫 번째 요소의 주소 값을 나타낸다.* a 라는 단어를 나타내려면 어떻게 해야하지 방법이 없나? #include int main(void){int a[5] = { 0,1,2,3,4 };int *ptr; ptr = a;printf("%d %d %.. 2017. 5. 14.
[c] Pointer #include int main(void){int n = 10;int *p1 = &n;int *p2 = p1; printf("%d\n", (*p1)++); //10 -> 11printf("%d\n", (*p2)++); // p1의 주소값 ++printf("%d\n", &n); //p2의 주소값printf("%d\n", p1); //p2의 주소값printf("%d\n", p2); //p2의 주소값printf("%d\n", n);; //11return 0;} * 포인터 변수 이해* 단순하게 새로운 변수인데 특징이 주소값을 저장한다는 것이다* 메모리 이미지를 그릴때, 왼쪽 주소값 메모리블럭 오른쪽 값을 떠올리자. 2017. 5. 14.
[c++] Understanding of Reference #include using namespace std; int main(void){int num1 = 1020;int &num2 = num1; num2 = 3047;cout 2017. 5. 13.
[c++] bool #includeusing namespace std; int main(void){int num = 10;int i = 0; cout 2017. 5. 12.
[c++] BankingSystem /*Banking SystemWhat: OOP step project basic */ #include#include using namespace std;const int NAME_LEN = 20; void ShowMenu(void);void MakeAccount(void);void DepositMoney(void);void WithdrawMoney(void);void ShowAllAccInfo(void); enum {MAKE=1, DEPOSIT, WITHDRAW, INQUIRE, EXIT}; typedef struct{int accID;int balance;char cusName[NAME_LEN];} Account; Account accArr[100];int accNum = 0; int main(void.. 2017. 5. 12.
[c++] Scope Resolution Operator #includeusing namespace std;int val = 100; int main(void){int val = 20;val += 3;::val += 3; cout 2017. 5. 11.