что означает звездочка (printf ("% s \ n", * argv))? - PullRequest
0 голосов
/ 30 декабря 2018

что означает звездочка (* ++ argv)?

void main (int argc, char *argv[])
{
 while (--argc)              
  {
    printf ("%s\n", *++argv);
  }

}

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

argv обозначает вектор аргумента, и он содержит argc + 1 (int - количество аргументов, а последний по умолчанию NULL.) Количество элементов.Как и в массивах char, первый элемент вектора аргумента содержит адрес для всего вектора аргумента.Таким образом, передавая указатель вектора аргумента (*argv[]), программа получает параметры с типом char при вызове функции main.

Чтобы узнать, как получить параметры вектора аргумента и использовать их, пожалуйста, ознакомьтесь с этим ответом.

0 голосов
/ 30 декабря 2018

здесь argv - указатель на указатель char типа

*argv указывает на первую строку аргумента в массиве argv, которая совпадает с argv[0], аналогично *(argv + 1)и argv[1] указывают на строку второго аргумента и т. д. *

Указатели на C: когда использовать амперсанд и звездочку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...