2012-06-20 24 views

Respuesta

12

Nada, es sólo [] azúcar sintáctico para un puntero.

Aquí es un caso simple prueba para demostrar que no hay ni siquiera una diferencia en la indexación:

#include <stdio.h> 

void fun1(int a[][3]) { printf("%d\n", a[2][2]); } 
void fun2(int (*a)[3]){ printf("%d\n", a[2][2]); } 

void main() { 
    int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; 
    fun1(a); // prints 9 
    fun2(a); // prints 9 
} 
3

Nada, dos son iguales. Solo por nuestro propósito de convencer.

2

No hay diferencia entre los dos anteriores. En C, cuando la notación de matriz se utiliza para un parámetro de función, se transforma automáticamente en una declaración de puntero.

Cuestiones relacionadas