Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ralph
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 6
#1

Цикл и переменные - C++

01.03.2011, 13:42. Просмотров 295. Ответов 1
Метки нет (Все метки)

Добрый день.Никак не могу решить проблему с циклом.Процесс успешно создает поток,в котором выполняется следующий код :

j=(unsigned long)sizeof(struct thread_struct);

for(i=0,free=NULL,THREAD=thread_start;i<thread_size;i++,THREAD+=j) { printf("%d %d +%d=%d(%d) %d==%d",i,thread_size,j,THREAD,free,THREAD->ID,pthread_self());if (pthread_equal(THREAD->ID,pthread_self())!=0) {free=THREAD;break;} }

в результате работы которого получаю

0 20 +64=10556928(0) 10530368==10530368
1 20 +64=10561024(0) 0==10530368
...
21 20 +64=10642944(0) 0==10530368
22 20 +64=10647040(0) 0==10530368

то есть мало того,что приращение указателя идет с шагом 4096 вместо 64,так еще и условие окончания цикла for не срабатывает и код бодренько отрабатывает до SIGSEGV
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2011, 13:42     Цикл и переменные
Посмотрите здесь:

Переменные и строки C++
C++ Переменные
Строковые переменные. C++
C++ Переменные
C++ Bool переменные - как записать таблицы истинности функции, используя цикл
C++ глобальные переменные
Переменные в функциях C++
Переменные в c++ C++
C++ Переменные
Переменные C++
C++ Константы, переменные
Динамические переменные C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
01.03.2011, 14:31     Цикл и переменные #2
Цитата Сообщение от Ralph Посмотреть сообщение
то есть мало того,что приращение указателя идет с шагом 4096 вместо 64
это особенности адресной арифметики, запись "указатель на объект"+n фактически означает что адрес в указателе увеличится на число равное n*"размер самого объекта"
Цитата Сообщение от Ralph Посмотреть сообщение
еще и условие окончания цикла for не срабатывает
что-то напутали в условии, вообще дополнительные инициализации в цикле хоть и допускаются, но лучше ими не злоупотреблять.
Yandex
Объявления
01.03.2011, 14:31     Цикл и переменные
Ответ Создать тему
Опции темы

Текущее время: 21:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru