En programación C, String es una matriz unidimensional de caracteres y se define como una matriz de caracteres. Pero una matriz de cadenas en C es una matriz bidimensional de tipos de caracteres. Cada cadena termina con un carácter nulo ( ). Es una aplicación de una matriz 2d.
Sintaxis:
marco de colección java
char variable_name[r] = {list of string};> Aquí,
- var_name es el nombre de la variable en C. r es el número máximo de valores de cadena que se pueden almacenar en una matriz de cadenas. c es el número máximo de valores de caracteres que se pueden almacenar en cada matriz de cadenas.
Ejemplo:
C
// C Program to print Array> // of strings> #include> // Driver code> int> main()> {> >char> arr[3][10] = {>'Geek'>,> >'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are:
'>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s
'>, arr[i]);> >}> >return> 0;> }> |
>
>
cuanto cero por un millonProducción
String array Elements are: Geek Geeks Geekfor>
A continuación se muestra la representación del programa anterior.
Tenemos 3 filas y 10 columnas especificadas en nuestra Matriz de cadenas, pero debido a la especificación previa, el tamaño de la matriz de cadenas consume mucho espacio. Entonces, para evitar un alto consumo de espacio en nuestro programa podemos usar un Array of Pointers en C.
Operaciones no válidas en matrices de cadenas
No podemos cambiar o asignar directamente los valores a una matriz de cadenas en C.
Ejemplo:
char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'};> Aquí, arr[0] = GFG; // Esto dará un error que dice asignación a expresión con un tipo de matriz.
Para cambiar valores podemos usar la función strcpy() en C
strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].>
Matriz de punteros de cadenas
En C podemos usar una matriz de punteros. En lugar de tener una matriz de caracteres bidimensional, podemos tener una matriz de punteros unidimensional. Aquí se almacena el puntero al primer carácter de la cadena literal.
Sintaxis:
java int como cadena
char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
A continuación se muestra el programa en C para imprimir una serie de punteros:
C
// C Program to print Array> // of Pointers> #include> // Driver code> int> main()> {> >char> *arr[] = {>'Geek'>,>'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are:
'>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s
'>, arr[i]);> >}> >return> 0;> }> |
>
educación de mark zuckerberg
>Producción
String array Elements are: Geek Geeks Geekfor>