He hecho una pregunta similar sobre las estructuras here, pero estoy tratando de averiguar cómo C maneja cosas como la asignación de variables y por qué no está permitido asignarlas entre sí si son funcionalmente iguales.C declaración y asignación de matriz?
Digamos que tengo dos matrices:
int x[10];
int y[10];
¿Por qué no x = y compilar? Si ambos tienen la misma "firma", ¿no deberías poder asignarlos de un lado a otro?
¿Puedo declarar esto de una manera que me permita hacer eso en C? Tiene sentido para mí que usted sea capaz de hacerlo, pero tal vez haya una forma de hacerlo. Typedefs for structs parecía ser la solución, ¿sería lo mismo para la declaración y la asignación de array?
Agradezco la ayuda de sus muchachos, soy nuevo en Stackoverflow pero hasta ahora ha sido un recurso realmente bueno para mí.
Ese código todavía no hace lo que él * quería * hacer, ¿o sí? Quizás estoy equivocado, pero me dio la impresión de que esperaba copiar el contenido de la matriz y en x. –
Es cierto. Afortunadamente, muchas otras respuestas indican que memcpy() es la elección correcta. Lo agregaré en ... –
"El nombre de una matriz es en realidad la dirección del primer elemento de esa matriz. \ El código de ejemplo que proporciona aquí intenta asignar a algo que no es un valor l". : por el bien de la posteridad, pensé que notaria que ambas oraciones de la respuesta más votada son incorrectas. En primer lugar, el nombre de una matriz definitivamente * no es * un puntero (por ejemplo, think sizeof()), simplemente se descompone en un puntero en muchos casos. En segundo lugar, el nombre de la matriz * es * un valor l, simplemente no es un valor l modificable. –