나는 cpp에 부울 데이터 타입으로 약간의 실험을하고 있습니다. 여기 내 코드입니다 :부울 배열로 실험하기
bool **darray;
darray=new bool* [3];
int i=0;
while(i<3)
{
darray[i]=new bool [5];
i++;
}
int m,n;
for(m=0;m<3;m++)
{
for(n=0;n<5;n++)
{
cin>>darray[m][n];
}
}
for(m=0;m<3;m++)
{
for(n=0;n<5;n++)
{
cout<<darray[m][n]<<"\t";
}
cout<<endl;
}
I가 0이 아닌 입력에 저장된 결과가 1 하지만 1보다 큰 수를 입력 할 곧, 배열에 저장된 번호가 1, 나머지가 될 것이라는 점을 알고있다 배열 요소의 0은 0으로 설정되고 for 루프는 거기에서 정지합니다. 내가 루프의 첫 번째 반복에서 숫자 95를 입력하면 예컨대, 출력은 : 왜 이런 일
95
1 0 0 0 0 //
0 0 0 0 0 // This is output
0 0 0 0 0 //
저를 제안하십시오. 미리 감사드립니다.
모든 배열이 고정 크기 인 경우 동적 할당을 사용하지 마십시오. C++ 11을 사용한다면 [std :: array'] (http://en.cppreference.com/w/cpp/container/array)를 사용하십시오. 그렇지 않으면'bool array [3] [5 ]; 동적 크기의 배열이 필요한 경우에는 ['std :: vector'] (http://en.cppreference.com/w/cpp/container/vector)를 고려하십시오. 표시된 코드에 이미 네 개의 메모리 누수가 있습니다. – Nobody