|
13 / 10 / 1
Регистрация: 27.03.2011
Сообщений: 164
|
||||||
Различия между двумя циклами19.06.2011, 15:31. Показов 2701. Ответов 20
Метки нет (Все метки)
объясните различия между двумя следующими циклами while
0
|
||||||
| 19.06.2011, 15:31 | |
|
Ответы с готовыми решениями:
20
Различия между Java и Си++ Различия между #define и const scanf (какие различия между %f %g %e) |
|
Higher
|
|||
| 19.06.2011, 15:34 | |||
|
Будет работать, пока указатель на что-то указывает(не равен нулю)
0
|
|||
|
13 / 10 / 1
Регистрация: 27.03.2011
Сообщений: 164
|
||
| 19.06.2011, 15:48 [ТС] | ||
|
а по поводу этого цикла можно подробнее? while(cp){++cnt; ++cp;} почему он бесконечный получается? если там в конце тоже итератор стоит и по идее как только до конца строки дойдет и встретит 0 то тоже должен перестать работать, единственный отличай я понял что в первом варианте он в условии имеет в качестве значения адрес, а во втором случае имеет ссылку на первый элемент массива или я не правильно понял записи?
0
|
||
|
Higher
|
||
| 19.06.2011, 15:51 | ||
|
А вот во втором случае используется разыменование, т.е. проверяется не сам указатель, а то, на что он указывает. И никакого итератора в конце нету... Хотя бы потому, что итераторы используются в контейнерах=\
1
|
||
|
13 / 10 / 1
Регистрация: 27.03.2011
Сообщений: 164
|
|
| 19.06.2011, 15:55 [ТС] | |
|
ну и еще такой вопрос
arr[]; - указатель на первый элемент массива *parr=arr; - указатель на первый элемент массива разницы я так понимаю нет?
0
|
|
|
Higher
|
||||||||||||
| 19.06.2011, 16:01 | ||||||||||||
|
arr[] это не совсем указатель...
0
|
||||||||||||
|
13 / 10 / 1
Регистрация: 27.03.2011
Сообщений: 164
|
|
| 19.06.2011, 16:04 [ТС] | |
|
из этой строки char arr[]="qwerty"; следует, что arr это тоже указатель на первый элемент массива?
0
|
|
|
13 / 10 / 1
Регистрация: 27.03.2011
Сообщений: 164
|
|
| 19.06.2011, 16:11 [ТС] | |
|
0
|
|
|
Higher
|
|||||||||||
| 19.06.2011, 16:15 | |||||||||||
|
Присваивается также указатель на "qwerty"
И если разыменовать, то он опять же будет указывать на первый элемент.
0
|
|||||||||||
|
|
|||||||||||
| 19.06.2011, 16:33 | |||||||||||
|
Если сравнивать указатель в цикле то нужен последний адрес-элемента массива или буфера, чтобы завершить цикл до идентичности адресов памяти, такой приём в основном применяют для
написания кросс-процессорных алгоритмов типа STL.
в этом случае сравнивается данные из массива или буфера в нашем случае строки заканчиваются '\0' - до его окончания цикл будет завершён.
0
|
|||||||||||
|
13 / 10 / 1
Регистрация: 27.03.2011
Сообщений: 164
|
||||||
| 19.06.2011, 16:38 [ТС] | ||||||
|
вот два способа написания
вообще разница в использовании есть? или тут уже кому как больше нравится?
0
|
||||||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|||||||||||||||||
| 19.06.2011, 19:42 | |||||||||||||||||
![]() Первое отличие заключается в том, что первая строчка создаёт массив, элементы которого можно менять, а вторая указывает на константную строку, менять которую (в общем случае) недопустимо. Поэтому вторую строку надо бы записывать так:
0
|
|||||||||||||||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||||||||
| 20.06.2011, 08:57 | |||||||||||||||||
0
|
|||||||||||||||||
|
68 / 55 / 11
Регистрация: 10.06.2011
Сообщений: 149
|
||
| 20.06.2011, 12:08 | ||
|
Не по теме: У меня встречный: Зачем писАть свою функцию strlen(), если такая уже есть? ПС accept сорри, я так понял ты это и хотел кому-то показать )
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||||||||||||
| 20.06.2011, 12:57 | |||||||||||||||||||||
|
Добавлено через 3 минуты
Добавлено через 7 минут Добавлено через 6 минут А вот с точки зрения sizeof статичесткий массив и указатель на его элемент - не одно и то же. Для массива sizeof вёрнёт размер в байтах массива, а для указателя - самого указателя.
0
|
|||||||||||||||||||||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||
| 20.06.2011, 13:12 | ||||
![]() Добавлено через 2 минуты
0
|
||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 20.06.2011, 13:12 | |
|
Вообще статический массив нифига не указатель, а некая сущность, с которой ассоциированы размер всего массива и указатель на его нулевой элемент.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 21.06.2011, 01:25 | ||
|
исходный код в первом сообщении как раз демонстрирует, что там подсчитывается длина строки xAtom в сообщении написал избыточный код, а я продемонстрировал, как его можно сократить в контексте исходного задания, и как его можно сократить вообще не смотри, что там указатель выходит за край, даже за нуль-символ, это можно, устанавливать указатель за последний элемент массива и даже в таком случае от него можно отнять (cnt + 1), возвратившись к исходной строке, не теряя её
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 21.06.2011, 09:25 | ||
|
0
|
||
| 21.06.2011, 09:25 | |
|
Помогаю со студенческими работами здесь
20
Различия в скоростях между curl и libcurl
В чем различия между модульным, процедурным и структурным программированием?
Расстояние между двумя множествами точек - это расстояние между наиболее близко расположенными точками этих Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|