가능한 중복 왜 : 나는 값이 배열에있는 경우 1 초를 반환 함수를 작성하기 위해 노력하고있어
Sizeof an array in the C programming language?배열의 크기는 1
. 여기 코드는 다음과 같습니다
int inArrayInt(int iVal, int iArray[])
{
int i;
int arrayL = sizeof(*iArray)/sizeof(int);
int flag = 0;
for(i=0; i < arrayL; i++)
{
if(iVal == iArray[i])
{
flag = 1;
}
}
return flag;
}
문제는 arrayL = sizeof(*iArray)/sizeof(int);
항상 배열 (20 개) 요소를 포함하더라도 1로 평가한다는 것입니다. 왜?
그는 실제로'int arrayL = sizeof (int)/sizeof (int);'를 수행하고 있는데, 코드에 버그가 두 개 있고 주소는 하나뿐입니다. – Lundin
@Lundin'sizeof (* iArray)'는 그다지 틀리지 않습니다. 그리고 설명을 수정으로 적용하면 해당 오류 소스가 제거됩니다. – RedX