2016-04-17 8 views
-4

Wie kann ich von Strings innerhalb Array von Strings in Index char zugreifen 1, aber mit Zeiger Art und Weise meine ich auf diese Weise * (abc + i) für zB:C-Index in String in Array

int main(int argc, char** argv)// argc =2, argv = file name and "abcd" 
{ 
printf("%c",____)//<--- here i want b from argv 
... 
} 
+1

'* (* (argv + 1) + 1)' – kaylum

Antwort

1
int main(int argc, char** argv) 
{ 
    printf("%c", *(*(argv + 1) + 1)); 
} 

*(argv + 1) Fügt 1 zu argv hinzu und dereferenziert es, um einen Zeiger auf den zweiten String zu erhalten. Dann wird dem Zeiger ein Zeiger hinzugefügt, der auf das zweite Zeichen innerhalb dieses Strings verweist und wieder dereferenziert wird, um das eigentliche Zeichen zu erhalten.

Verwenden Sie es nicht in wirklich harten Code, es ist sehr unklar. Verwenden Sie

printf("%c", argv[1][1]);