ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #9  
Старый 17.05.2010, 03:53
greki_hoy
Познающий
Регистрация: 04.03.2010
Сообщений: 32
С нами: 8520171

Репутация: 23
По умолчанию

Цитата:
Сообщение от d_x  
Второе задание на Си:

PHP код:
#include "stdio.h"

int main()
{
    
int arr[] = { 1, 2, 3, 100, 500, 10000, 123 };
    
int i, len;
    
    for(
i = 0, len = sizeof(arr)/sizeof(int); i < len; i++)
    {
          
arr[i] &= 0xF;
          
printf("%u\n", arr[i]);
    }
          
    
free(arr);
    return 
0;
} 
освобождаете массив в стеке сильно
sizeof(arr)/sizeof(int) плохо
sizeof(arr)/sizeof(arr[0]) хорошо
sizeof(arr)/sizeof(arr[0]) вернет size_t 32 битное значение в x32 системе и 64 битное в x64 но из за присваивания его переменной len типа int
потеряете 32 старших бита в x64 системе не сможете обрабатывать большие массивы
так как int и в x32 и в x64 32 бита в отличии от size_t
результата операции sizeof которая на x32 32 бита а на x64 64 бита
в первом задании у Вас тоже ахтунг с типами

Последний раз редактировалось greki_hoy; 17.05.2010 в 05:27..
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ай нид хелп A_n_d_r_e_i Болталка 3 25.02.2010 11:45
Нид хелп ~Dala$$~ PHP 11 28.01.2007 21:04
Ай нид хелп! Grinder Болталка 12 22.06.2006 05:51



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.