본문 바로가기
728x90
728x90
SMALL

C │ C++ │ C#43

C++ Chapter 6.9 : C언어 스타일의 문자열 기호적 상수 char* 와 char []의 차이에 대하여 char name [] = "Jack Jack"; // ⭕가능. 문자열 상수로 char 배열 초기화. char * name = "Jack Jack"; // ❌불가능! ! 오류 ! ! char * ptr = name; // ⭕가능. ptr로 name 배열의 원소에 접근 가능. const char * name = "Jack Jack"; // ⭕가능. const 붙으면 가능해진다. char name [] = "Jack Jack"; : 문자열 리터럴 상수 “Jack Jack”으로 char 배열을 초기화 한다. char * name = "Jack Jack"; 가 안되는 이유 ο name은 포인터기 때문에. ο “Jack Jack”은 주소가 아닐 뿐더러 리터럴 상수이므로.. 2023. 10. 29.
C++ Chapter 6.8 : 포인터의 연산과 배열 인덱싱 포인터 연산 포인터를 uniptr_t 로 형변환 하면 주소가 정수로 보기 좋게 나온다. using namespace std; int main() { int value = 7; int * ptr = &value; cout 2023. 10. 15.
C++ Chapter 6.7 : 포인터와 정적 배열 포인터와 배열 이름은 일맥상통하는게 있다. int array[5] = {0, 1, 2, 3, 4}; int * ptr = array; 배열의 이름 👉🏻 포인터 상수나 마찬가지. $($변하지 않는 주소 값$)$ array 와 &array[0] 은 같다. ο 배열의 이름 👉🏻배열의 첫번째 원소의 주소 *array 와 array[0] 은 같다. ο *array 👉🏻 배열의 첫번째 원소를 간접 참조함. int * ptr = array; ο ptr 포인터 변수가 array 배열의 주소를 담게 되었으니 이제 ptr로 array 배열에 간접참조가 가능해짐. ο *ptr 와 array[0] 은 같다. ο *ptr = 100 은 array[0]=100 과 같다. ■ 배열의 주소를 복사해 담은 포인터로 배열의 원소 값을 .. 2023. 9. 28.
C++ Chapter 6.6 : 포인터의 기본적인 사용법 포인터 메모리 주소를 담는 변수를 뜻한다. & 변수 앞에 붙으면 그 변수의 주소 * 포인터 변수 앞에 붙으면 그 포이터 변수가 담고 있는 주소에 담긴 데이터 간접 참조 포인터 변수의 선언 포인터 선언시 가리킬 메모리의 데이터 타입 + * ex) int *, double * int x = 5; int * ptr = &x; *ptr = 7; // x 값이 7로 변한다. x=7 이나 마찬가지. int * ptr = &x; int 타입의 변수의 주소를 담을 수 있는 포인터라는 의미에서 int * 포인터 변수 ptr은 int형 변수인 x의 주소로 초기화 됐다. 포인터 ptr은 x 를 가리키고 있다. *ptr = 7; ptr은 현재 x의 주소를 담고 있는데 * 를 포인터 앞에 붙이면 x의 데이터를 참조할 수 있게 .. 2023. 9. 4.
C++ Chapter 6.5 : C언어 스타일의 배열 문자열 C언어 스타일의 배열 문자열 char string[] = “Hello !”; 문자열의 끝을 알 수 있도록 \0 가 끝에 붙어있다. ο 문자열이 6글자라도 sizeof 해보면 7이 나오는 이유. 문자열의 입력 std::cin 공백 단위로 입력을 받기 때문에 공백 전까지만 받는다. ο 따라서 cin에 “hello, world!”를 입력하면 “hello,”까지만 문자 배열에 대입된다. char myString[255]; // 254개의 문자(char)가 들어갈 수 있는 배열 cin >> myString; // Jack 입력 myString[0] = 'A'; // Aack 으로 바뀜 std::cin.getline cin.getline$($myString, 255$)$; 공백이 포함된 문자열을 받으려면 cin.g.. 2023. 9. 3.
C++ Chapter 6.4 : 정적 다차원 배열 이차원 배열 int Array [ row ][ col ] 초기화 const int num_rows = 3; const int num_columns = 5; int array[num_rows][num_columns] = { {1, 2, 3, 4, 5}, //row0 {6, 7, 8, 9, 10}, //row1 {11, 12, 13, 14, 15} //row2 }; int array[2][3] = {0}; // 된다! row * col 개 만큼 0으로 채움. int array[num_rows][num_columns] = { {1, 2, }, // 나머지 3개는 0 으로 채워준다. 1 2 0 0 0 {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15} }; int array[][num_colu.. 2023. 8. 31.
728x90
728x90
LIST