이차원 배열 값 한번에 바꾸기..?
글쓴이: realian / 작성시간: 화, 2003/09/23 - 10:48오전
안녕하세요.. 하다가 좀 간단하고 깨끗해 보이는(?) 방법이 없을까해서요..
int a[10][10] = {0};
이렇게 되어 있는 배열 a 를.. 모든 값을 다 1 로 바꾸고 싶습니다.
간단하게 이중 for 문 쓰면 되지만.. 왜인지 안깔끔해 보여서..
memset 이용할까 싶어서 찾아봤더니..
memset ( void *, char value, int size ) 더군요.
바이트 단위로 값을 입력하기때문에.. 무효 ㅡ.ㅡ;; int는 4바이트이니..
그냥 혹시나 하고 해봤더니.. 역시 이진수00000001000000010000000100000001에 해당하는 값이 입력됩니다..
혹시 간단한 방법이 있나요..?
Forums:
C++이라면std::fill(&a[0][0], &a
C++이라면
std::fill(&a[0][0], &a[9][10], 1);
또는
std::fill(a, a + 10 * 10, 1);
또는
std::fill_n(a, 10 * 10, 1);
이렇게 하면 컴파일러는 한 개의 for문을 사용한 루프와 동일한 코드를 생성합니다.
이차원 배열 초기화..
특정 함수를 써서 한번에 처리한는건 잘 모르겠구요..
예를 들어 int a[9][5]; 배열을 1로 초기화 하고 싶다면
이렇게 하는 것이 이중 for문 돌리는 것 보다는 깔끔할 듯 싶습니다.
댓글 달기