두 가지 간단한 예 : 것을 왜테이블이 함수의 매개 변수 일 때 테이블의 "sizeof()"가 올바르지 않은 이유는 무엇입니까?
int main(void)
{
...
send("datadata");
...
}
void data(int table2[]) {
int size2 = (sizeof(table2)/sizeof(*(table2))) - 1;
}
SIZE2 항상 3의 크기입니다 : 때
int table1[] = "datadata";
int size1 = (sizeof(table1)/sizeof(*(table1))) - 1;
크기가 정확하지 않습니다 때
크기가 올바른 값이 될 것이다 ? 올바른 값을 얻는 방법?
이 함수는 데이터 블록의 주소를받습니다. 길이를 측정 할 수 없습니다. – Novak
그래서 먼저 테이블의 값을 계산해야하고 다음 패스는 테이블 옆의 함수입니다. 마찬가지로 :'무효 데이터 (int table2 [], int size)'? – user3096513
예, 크기를 다른 인수로 전달하십시오. – marcus