C: Не проверяет размер массива.
От: k55 Ниоткуда  
Дата: 24.03.15 15:47
Оценка: :)))
Подскажите пожалуйста это так и должно быть что C компилятор не проверяет размер передаваемого массива в функцию? (Я ожидал обратное)

int Myfunc(int (*MacArray)[6])
{
  int i =0;
  for(i = 0; i < 6; ++i )
    (*MacArray)[i] = i;
  return 0;
}
 
int main(void) {
  int array[6];   /*<---- Если тут указать другое число, что компилятор скушает и ничего не скажет*/
  Myfunc(&array);
  int i =0;
  for(i = 0; i < 6; ++i )
    printf("%d \n", array[i]);
  return 0;
}


Code on Ideone
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.