Colección de citas famosas - Slogan de motivación - ¿El lenguaje C realiza sumas a matrices?

¿El lenguaje C realiza sumas a matrices?

define intarr[5] = {20, 10, 5, 39, 88};, el sistema genera una matriz unidimensional que contiene 5 elementos, a saber, arr[0] a arr[4], y las direcciones de los elementos correspondientes son Arr a Arr+4.

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;

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.