Unterschied zwischen char *argv[] und char **argv für das zweite argument von main()

CODE 1

#include<stdio.h>

int main(int argc, char *argv[])
{
int j;
printf("%d", argv[1][0]);
return 0;
}

CODE 2

#include<stdio.h>

int main(int argc, char **argv)
{
int j;
printf("%d", argv[1][0]);
return 0;
}

CODE 1 und CODE 2 beide geben die gleiche Leistung. aber argument 2 der main-Funktion in CODE 1 und CODE 2 sind unterschiedlich. Array von Pointern erstellt über Daten § zur compile-Zeit. argv ist das array von Zeigern. Dann sollten wir deklarieren argument in der main-Funktion als Zeiger auf Zeiger auf Zeichen, d.h., **argv. Wie es richtig ist, zu erklären, wie in CODE 1?

  • Der zweite parameter ist nicht anders in irgendeiner Weise so weit wie compiler betroffen ist, ist char *argv[] ist nur äquivalent zu char **argv. Das ist mehr wie die Materie der am günstigsten gelegene coding style.
  • mögliche Duplikate von Was soll main() zurückgeben in C und C++?
InformationsquelleAutor Jhansi Rani | 2014-11-30
Schreibe einen Kommentar