|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 21
|
||||||
В С++ может ли argv быть двухмерным массивом?09.05.2013, 17:23. Показов 3625. Ответов 40
Метки нет (Все метки)
Когда у argv с двумя аргументами?
0
|
||||||
| 09.05.2013, 17:23 | |
|
Ответы с готовыми решениями:
40
Проблемы с двухмерным массивом |
|
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 21
|
|
| 09.05.2013, 18:00 [ТС] | |
|
Jupiter, но почему там два значения, а не одно?
0
|
|
|
Комп_Оратор)
|
||||||
| 09.05.2013, 18:53 | ||||||
|
Князь Трех Море, дело не в аргументе функции Main, а в типе char *. Этот тип унаследован от C и здорово отличается от других примитивных типов языка. Это указатель на массив "знающий" свой размер, за что его иногда называют, как-то вроде, "почти контейнер". Определить размер можно по завершающему нуль-символу:
0
|
||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||
| 13.05.2013, 19:58 | ||
|
1
|
||
|
Комп_Оратор)
|
||
| 13.05.2013, 20:20 | ||
0
|
||
|
Неэпический
|
||
| 13.05.2013, 20:29 | ||
|
Таким же образом можно не добавлять ноль в конец. А можно написать аналоги для int*,но это же не сделает int* супер-типом
1
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
| 13.05.2013, 20:30 | ||||||
|
0
|
||||||
|
|
|||||||||||
| 13.05.2013, 20:40 | |||||||||||
|
Немного проясню для тех, кто похоже чего-то не понимает
![]() Нуль-терминатор это всего лишь условность. Разработчики языка С решили, что строки будут заканчиваться на 0, с таким же успехом они могли решить использовать для этого любой другой символ. В ассемблере (точнее в DOS), например, в качестве этого символа используется '$'. Т.е. на С мы имеем
1
|
|||||||||||
|
Комп_Оратор)
|
|||
| 13.05.2013, 20:58 | |||
|
char* a = "abcde"; Эта возможность называется операцией инициализации и встроена в язык. ![]() Что касается таких библиотек как, стандартный поток вывода, то это тоже совсем не мало. Указатель на char можно использовать и как указатель на символ, но можно и как указатель на С-строку. У компилятора нет средств определить, что имеется в виду не попробовав. Но в вопросе темы, - вопрос о 2-мерном массиве и важно было объяснить, что массив указателей на char, в данном случае массив массивов, то есть 2-х мерный. От таких же массивов других примитивных типов (int[] например), его размерность в строках может не совпадать, что является признаком схожим с контейнерами. ![]() Я не стану спорить с тем, что указатель на char имеет много общего с указателями на другие типы, но отличия от них у него, достаточно существенны. ![]() Добавлено через 3 минуты
0
|
|||
|
Неэпический
|
||
| 13.05.2013, 21:00 | ||
![]() И виноват в этом не указатель на char, а то что создается строковый литерал(или используется уже созданный) и его адресом инициализируется указатель.
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||
| 13.05.2013, 21:03 | ||
). А сам char * здесь просто выступает котейнером, хранителем адреса константного литерала. Так что, опять же, в самом указателе нет ничего сверхъестественного.
1
|
||
|
Комп_Оратор)
|
|||
| 13.05.2013, 21:07 | |||
![]() Добавлено через 1 минуту
0
|
|||
|
|
||||||||||||
| 13.05.2013, 21:08 | ||||||||||||
Называть "asfd" указателем конечно неправильно, поэтому этот термин употреблен в кавычках.
1
|
||||||||||||
|
Комп_Оратор)
|
|||
| 13.05.2013, 21:19 | |||
|
const *char я Вас убедил. Но не констант, что другой тип? Мой компилятор позволяет инициализировать: char* a ="abcd"; и потом: a[0]='w'; то есть, такое ощущение, что это аналогично созданию массива: char a[] = {'a', 'b', 'c', 'd', '\0'}; ![]() Добавлено через 2 минуты
0
|
|||
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
|
| 13.05.2013, 21:31 | |
|
IGPIGP, ну так "abcd" - это же и есть массив - char const [5].
1
|
|
|
Неэпический
|
|||
| 13.05.2013, 21:42 | |||
![]() Переменную типа int тоже можно рассмотреть как массив из sizeof(int) элементов типа char. И адрес этой int переменной будет адресом начала массива ![]()
0
|
|||
| 13.05.2013, 21:42 | |
|
Помогаю со студенческими работами здесь
20
Работа с двухмерным массивом Работа с двухмерным массивом данных действия над двухмерным массивом Работа с двухмерным массивом данных Различные действия с двухмерным массивом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|