[C++] C++에서의 배열 선언

2020. 6. 8. 01:04·🖥️ 컴퓨터공학 🖥️/C | C++
반응형

JAVA에서의 배열 선언

나는 프로그래밍 언어를 JAVA로 시작하였기 때문에 JAVA가 편하다. 그래서 C++을 사용할 때 헷갈려서 불편하곤 한다. 특히 '배열'을 선언할 때 불편하다. 

먼저 JAVA에서의 배열 선언이다. 

int [] Array =new int [3];

만약 배열의 크기가 정해지지 않았다면 다음과 같이 설정하면 된다.

Scanner scan=new Scanner (System.in);
int n=scan.nextInt();
int [] Array = new int [n];

2차원 배열도 위의 방법과 같이 생성 할 수 있다. 

Scanner scan=new Scanner(System.in);
int m=scan.nextInt();
int n=scan.nextInt();
int [][] Array = new int [m][n];

그렇다면 C++에서 배열은 어떻게 생성할 수 있을까?

 

C++에서의 배열 선언

▶ 배열 선언 시 공간 할당

int arr[6];

만약 위의 예시처럼 배열을 선언했다면 공간은 아래 그림처럼 할당이 된다. (int형은 4byte이므로)

따라서 

int arr[6];
for(int i=0;i<6;i++){
	arr[i]=10*(i+1);
}

와 같이 배열을 초기화 시켜주었다면

이렇게 배열이 만들어진다. 

 

정리를 하자면 아래의 방법으로 배열이 만들어질 수 있다.

int arr[6]={1,2,3,4,5,6};
int arr[]={1,2,3,4,5,6};
int arr[6]={1,2};
//이런 경우는 arr[6]={1,2,0,0,0,0}로 초기화

 

 

char 배열 선언

 

char 형 배열도 int형 배열을 선언할 때의 동일하다.

C++ 에서 cout은 배열내에 '\0'가 있으면 그 부분까지 출력하고 출력을 중단한다. 

 

#include<iostream>
using namespace std;

int main() {
	char word[10] = { 'p','r','o','g','r','a','m','\0' };
	//char word[10] = "program";
	cout << "input word is " << word << endl;
	word[3] = '\0';
	cout << "input word is " << word << endl;
	word[0] = 'w';
	word[1] = 'o';
	word[2] = 'r';
	word[3] = 'd';
	cout << "input word is " << word << endl;
}

 

 

 

getline( ) 함수

 

배열에 문자열을 저장할 때는 cin을 사용하지만 getline함수를 사용해서도 저장할 수 있다.

먼저 cin을 이용하여 "program"을 저장해보자.

 

#include<iostream>
using namespace std;

int main() {
	char word[20];
	cin >> word;
	cout << "input word is " << word << endl;
}

 

 

이번에는 getline 함수를 사용하여 program이라는 문자열을 저장해보자.

 

#include<iostream>
using namespace std;

int main() {
	char word[20];
	cin.getline(word, 20);
	cout << "input word is " << word << endl;
}

 

 

getline함수를 사용해서도 문자열에 저장할 수 있음을 알 수 있다.

 

cin.getline( arrayName, arraySize ); 와 같은 형식으로 사용한다.

 

728x90
반응형

'🖥️ 컴퓨터공학 🖥️ > C | C++' 카테고리의 다른 글

[C++] 포맷 플래그  (0) 2020.06.12
[C++] vector Container  (0) 2020.06.10
[C++] 가상함수 상속을 이용하여 값을 변환해주는 클래스 작성  (0) 2020.05.24
[C++] 다중상속을 이용한 연산 프로그램(feat. public 다중상속)  (0) 2020.05.20
[C++] 멤버함수와 외부 함수를 이용한 OOP(feat. friend, operator)  (0) 2020.05.02
'🖥️ 컴퓨터공학 🖥️/C | C++' 카테고리의 다른 글
  • [C++] 포맷 플래그
  • [C++] vector Container
  • [C++] 가상함수 상속을 이용하여 값을 변환해주는 클래스 작성
  • [C++] 다중상속을 이용한 연산 프로그램(feat. public 다중상속)
공대생 배기웅
공대생 배기웅
군노답 미필 공대생 배기웅의 대학생활을 갈아 넣은 블로그
    반응형
  • 공대생 배기웅
    글쓰는공대생의 IT블로그
    공대생 배기웅
  • 전체
    오늘
    어제
    • 분류 전체보기 (166)
      • 🖊️ 공대생 글쓰기 🖊️ (17)
        • 공대생 회고록 (4)
        • 공대생의 끄적끄적 (4)
        • 슬기로운 공대생활 (9)
        • 무한도전 대학원생 (0)
      • 📈 산업공학 📈 (14)
        • 금융, 파생상품 (13)
        • 통계 (0)
        • 선형대수 (0)
        • 보험, 리스크관리 (0)
        • 재무회계 (1)
      • 🖥️ 컴퓨터공학 🖥️ (92)
        • 머신러닝, 딥러닝 (12)
        • 텐서플로우, 케라스 (1)
        • 알고리즘 (24)
        • 웹 (5)
        • Python (3)
        • C | C++ (23)
        • Java (15)
        • 코드 에러 모음집 (9)
      • 😙 취미, 교양 😙 (2)
        • 영어공부 (1)
        • 일본어회화 공부 (1)
      • 🔍 정보 공유 🔍 (38)
        • 대학생 외부활동 정보 (2)
        • 개발자관련 정보 (3)
        • 대입 논술 입시자료 정보 (22)
        • 프로그램 세팅 (11)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

    • [공지] 글쓰는 공대생입니다 😃
  • 인기 글

  • 태그

    Operator
    OOP
    백준
    데이터베이스
    자바
    acmicpc
    경제성공학
    C++
    이클립스
    프로그래머스
    재귀함수
    Java
    프랜드함수
    조작자
    무작위 변수
    알고리즘
    스캐너
    equals프레임워크
    예외
    객체지향
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
공대생 배기웅
[C++] C++에서의 배열 선언
상단으로

티스토리툴바