Bifalgorithm post · Computer science one · Arrays of Strings

How can you create an array of strings in C?

How can you create an array of strings in C? (Computer science one · Arrays of Strings) — "We often need to deal with collections of strings. An array of strin…

Ideas in this flowchart

  • Les tableaux de chaînes en C peuvent être représentés comme des tableaux de caractères à deux dimensions.
  • Un tableau de chaînes est conceptuellement composé de lignes, chaque ligne étant une chaîne de caractères.
  • Dans la fonction main(), les arguments de ligne de commande sont reçus sous la forme int main(int argc, char **argv).
  • argv est un double pointeur vers des chaînes, tandis que chaque ligne correspond à un pointeur char *.
  • argc indique le nombre de lignes ou de chaînes contenues dans argv.
  • La taille de chaque ligne n’a pas besoin d’être fournie, car les chaînes sont terminées par un caractère nul.
  • On peut créer dynamiquement des tableaux de chaînes comme des tableaux à deux dimensions de int ou de double.
  • Le tableau names alloue de l’espace pour cinq pointeurs de chaînes avec malloc.
  • Une boucle alloue vingt caractères pour chaque chaîne, ce qui permet d’en stocker au plus dix-neuf.
  • Les chaînes sont initialisées avec « Margaret Hamilton », « Ada Lovelace » et « Grace Hopper ».
Feed/

How can you create an array of strings in C?

No cover

Channel

Computer science one

1 page

"We often need to deal with collections of strings. An array of strings can be viewed as a 2-dimensional character array. Indeed, we’ve seen this before. In the typical C program’s main() function, command line arguments are passed as the second parameter:\n\nint main(int argc, char **argv)\n\nwhich is represented as a double character pointer, char **. Conceptually, each row is a string, char *. The first parameter, argc indicates how many rows there are. The main() function doesn’t need to be told how big each “row” is since strings are null-terminated. We can create our own arrays of strings similar to how we created 2-dimensional arrays of int and double types.\n\n1 //create an array that can hold 5 strings\n\n2 char **names = (char **) malloc(5 * sizeof(char*));\n\n3 int i;\n\n4 for(i=0; i<5; i++) {\n\n5 //each string can hold at most 19 characters\n\n6 names[i] = (char *) malloc(sizeof(char) * 20);\n\n7 }\n\n8 strcpy(names[0], \"Margaret Hamilton\");\n\n9 strcpy(names[1], \"Ada Lovelace\");\n\n10 strcpy(names[2], \"Grace Hopper\");"

Flowchart preview
👍
0
0 comments0 shares

Sign in to view and post comments.