본문 바로가기

프로그래밍/C++ language

7, 8. 1차원 Array, C-문자열, 다차원 Array

7.6 함수에서 배열 인수 보호

 

- 함수로 배열이 전달될 때, 배열이 변경 불가능하도록 하기 위해 const키워드를 쓸 수 있음

- const로 받은 배열을 함수 내에서 또 다른 함수로 전달 할 때는, 똑같이 const를 써주어야 함

 

ex) void p(const int list[] int arraySize){

...

f(list, size);

}

void f2(const int list[] int size){

...

} //함수 p가 const를 받았으므로, 함수 f도 const로 받아야함

 

7.11 C-문자열

 

- C-문자열이란, 문자열의 끝이 '\0'로 끝나는 배열을 말함

- cin, cout을 이용하여 입출력가능

- strcpy, strncpy로 문자열 복사

- strcat, strncat로 문자열 연결

- strcmp로 문자열 비교

- atoi, atof등으로 문자열을 숫자로 변환

 

ex1)

char city[7]; //'\0'을 제외한 6문자 저장가능

cin >> city; //string 객체가 아닌 배열의 형태로 string이 저장, "New York"과 같은 공백이 있으면 함께 읽지 못함

cin.getline(city, 7, '\n'); // 엔터를 만날 때까지 6개의 값을 읽어들임, 공백이 있는 문자도 읽음

cout << city << endl;

 

ex2)

char city[30] = "Chicago";

char weather[7] = "Cloudy"

strcpy(city, "New York"); //city에 new york 복사

strncpy(city, "New York", 3); //복사될 문자수 지정, New만 복사됨

strcat(city, weather); //city에 문자열이 연결되어 저장

strncat(city, weather, 3); // 두번째 argument인 weather에서 연결할 문자 갯수 지정, Clo

strcmp(city, weather); //문자열 비교, 같으면 0, s1이 작다면 음수, s1이 크다면 양수

 

ex3)

char s1 = "65";

char s2 = "65.0";

cout << atoi(s1) + 3 << endl; //68

cout << atof(s2) + 3.0 << endl; //68.0

 

8.8 다차원 배열

 

- 임의의 n차원 배열 선언 가능

 

ex) double scores [6][5][3]

'프로그래밍 > C++ language' 카테고리의 다른 글

10. 객체 지향(object-oriented) 개념  (0) 2021.09.15
9. 객체(object)와 클래스(class)  (0) 2021.09.15
6. 함수(function)  (0) 2021.09.15
4. 수학함수, 문자, 문자열  (0) 2021.09.15
3. 선택문(if, else ~ switch)  (0) 2021.09.15