
🎀 문자열 VS 문자배열 char name1[6]={'G','r','a','c','e','\0'}; // name1은 문자열 "Grace" char name2[5]={'G','r','a','c','e'}; //name2는 문자열이 아니고 단순 문자 배열 null 값에 따라 문자열과 문자배열이 정해진다. 그렇다면 이제 주소를 입력받을 수 있는 코드를 작성해보자 #include using namespace std; int main() { // 주소를 입력받아 출력하기, char address[100]; // 크기가 100인 char address 배열 생성 cout > address; // 입력받은 주소를 address에 넣기 cout

🎈운영체제의 개념 1.1 운영체제 개념 컴퓨터는 크게 하드웨어와 소프트웨어로 구분 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 구분 운영체제는 컴퓨터를 작동시키고 운영을 관리하여 사용자의 응용 프로그램이 효율적으로 실행될 수 있게끔 하는 환경을 제공하는 기본 소프트웨어 bootstrap program에 의해 컴퓨터 내에 최초로 적재된 후에 컴퓨터 내의 다른 프로그램을 관리하는 프로그램 cf) bootstrap program? 컴퓨터 전원이 켜지면 가장먼저 돌아가는 프로그램 ROM(read only memory) 또는 EEPROM에 저장이 되어있다 모든 시스템 (cpu registers, device controller, memory content 등)을 initialize 한다 disk로부터 os를..

📌 1차원 배열이름의 포인터 형과 2차원 배열이름의 포인터 형 int arr2d[3][3]; 다음과 같이 선언된 2차원 배열이 있다고 가정해보자. arr2d와 arr2d[0]의 차이점은 무엇일까 ? #include int main() { int arr2d[3][3]; printf("%d \n", arr2d); printf("%d \n", arr2d[0]); printf("%d \n", &arr2d[0][0]); printf("sizeof(arr2d): %d \n", sizeof(arr2d)); printf("sizeof(arr2d[0]: %d \n", sizeof(arr2d[0])); } RESULT : 우리는 결과값을 통해 배열이름 arr2d를 대상으로 sizeof 연산을 하는 경우 배열 전체의 크기를..
📌 인자전달의 기본방식은 값의 복사이다 매개변수 전달 방법은 1) 값에 의한 전달 (Call by value) 와 2) 참조에 의한 전달 (Call by reference)로 나뉜다. 값에 의한 전달은 호출한 함수에서 잔달한 인자의 값을 복사하여 호출받은 함수의 입력 매개 변수의 초기값을 설정하는 방식이다. 즉, 호출한 곳의 인자와 피호출한 곳의 인자의 값은 같지만 메모리는 독립적이다. 반면 참조에 의한 전달은 호출한 함수에서 전달한 인자를 피호출 함수의 입력 매개 변수가 참조하여 사용하는 방식이다. 즉, 호출한 곳의 인자와 피호출한 곳의 인자는 같은 개체이다. C언어에서 매개 변수를 전달하는 방식은 값에 의한 전달 (call by value)를 사용한다. 포인터 변수처럼 메모리 주소를 값을 갖는 데이터..

💕 포인터의 포인터 포인터의 포인터는 포인터 변수를 가르키는 또 다른 포인터 변수를 뜻하는 것으로서 흔히 '이중 포인터' 또는 '더블 포인터'라고 부르며, 포인터 변수의 선언에 사용되는 * 연산자를 두 개 이어서 선언한다. int **ptr = NULL; // 이런 식으로 *를 연달아 두개 사용 ! 기본 예제 #include int main() { double num = 3.14; double* ptr = # // num의 주소 값을 저장하는 변수 ptr 선언 double** dptr = &ptr; // ptr의 주소 값을 저장하는 변수 dptr 선언 double* ptr2; printf("%9p %9p \n", ptr, *dptr); // *dptr은 ptr을 의미하니 동일한 출력값 printf..

💕 2차원 배열 int arr1[3][4]; // 세로가 3, 가로가 4인 int형 2차원 배열 int arr2[2][6]; // 세로가 2, 가로가 6인 int형 2차원 배열 정리하면 배열의 이름이 arr이고 배열요소의 자료형이 TYPE이라고 할때, 2차원 배열의 선언형태는 다음과 같다. TYPE arr[세로길이][가로길이]; 프로그램 사용자로부터 층별로 두 기구가 사는 4층짜리 빌라의 가구별 거주인원 수를 입력 받는 예제를 작성해보자. #include int main() { int villa[4][2]; //세로가 4, 가로가 2인 배열 생성 int popu, i, j; //가구별 거주인원 입력 받기 for (i = 0; i < 4; i++) { for (j = 0; j < 2; j++) { prin..