The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Нормальный ли код получился? (Переворот строки Си)."
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "Нормальный ли код получился? (Переворот строки Си)." +/
Сообщение от Asgard (?), 15-Сен-16, 22:41 
> А ну таки да -
> Если строка с пробелом, то в ее первая часть попадет в argv[1]
> а остальная часть в argv[2]
> Так как, если я верно понял Ваше сообщаение argv хранит указатели (на
> аргументы) на массивы символов

Да, верно. в массиве argv хранятся указатели на аргументы (параметры), переданные программе в командной строке. Аргументы разделяются пробелами. Собственное имя программы (текущее имя запускаемого файла) располагается по адресу argv[0]. Количество элементов массива argv передаётся в argc.

По поводу необходимости инициализации выделяемой памяти. Зависит от того, как Вы её "получили" и что будете с ней делать. Если Вы просто объявили переменную/массив (например, int arr[12], x;), или выделили место с помощью malloc, то данный кусок памяти не будет пустым (x или arr[i] будут не равны нулю) - там будет лежать то, что осталось от какой-то программы, которая "пользовалась" этой памятью до Вас, или просто случайный мусор. С другой стороны, если для выделения памяти используется операция calloc, то она гарантированно чистит (заполняет нулями) выделяемую память. Если после выделения памяти вы сразу же всю её заполняете своими данными, то Вам, по большому счёту, наплевать что там было при выделении памяти. Но так бывает не всегда. Поэтому, для собственной подстраховки, да и просто как правило хорошего тона, выделенную память лучше сразу почистить/проинициализировать.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Нормальный ли код получился? (Переворот строки Си)., dcc0, 14-Сен-16, 20:10  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру