¿El lenguaje C realiza sumas a matrices?
Cuando se usa sum(arr, arr+5)); Sum es una función definida por el usuario al calcular la suma de matrices, y su contenido lo escribe el programador.
Si esta función se escribe así:
int sum(int * a, int * b) {
int*p, s;
for (p = a, s = 0; p & ltb; p++)
s+= * p
Devuelve s; p>
Puedes obtener los resultados correctos.
Dijiste que "arr apunta a la primera dirección de la matriz" es correcto, pero "no es equivalente a arr[6] después de arr+5" está mal, porque arr+5 es arr[ 5 】La dirección del elemento. Pero aun así, si la función definida por el usuario no agrega arr[5] (como en el ejemplo anterior), el programa puede obtener los resultados correctos. Sin embargo, si no lo hace, es posible que los subíndices estén fuera de los límites de dichas matrices.
Esto depende de cómo se escribe la función suma.
Lo más importante es que arr y el arr+5 sumado son solo dos parámetros, no son objetos de suma. Esto debe quedar claro.