Hay que recordar que en el clásico C, la única diferencia entre una "cadena" y una serie de caracteres es la terminación del carácter nulo '\ 0', por lo que tuvimos que tratarlos de manera más activa en consecuencia y asegurarnos de que no nos fuéramos al final de la matriz. Entonces, el primer bloque de código basa su proceso de pensamiento en el concepto de una matriz de caracteres.
El segundo bloque de código basa el proceso de pensamiento en cómo manejar una cadena de forma más abstracta y con menos atención a su implementación bajo las cubiertas.
En pocas palabras, si está hablando de procesar caracteres como la idea principal detrás de su proyecto, vaya con la primera pieza. Si está hablando de preparar una cuerda para algo mayor y que no necesariamente tiene que enfocarse en la mecánica de las formas en que se construyen las cuerdas, o simplemente quiere hacerlo simple, vaya con el segundo estilo.
Parte de esto puede resumir las contribuciones de otros en este punto, pero de forma más análoga, ¿estás jugando a "Bingo()"? o ¿estás jugando un juego con una matriz bidimensional de enteros aleatorios, etc.?
Espero que esto ayude.
Jim
No hay que buscar una aguja en un pajar, pero no es "legible" la palabra correcta, en lugar de leer o readbly? – mare
El primer ejemplo no se debe usar en absoluto, incluso si fue más legible que el segundo ejemplo, ya que no se realiza ninguna comprobación de nulo o de longitud en foo. – Patrik
El segundo, ¿no se estrellaría el primero si la cadena estuviera vacía? – NibblyPig