¿Hay alguna diferencia en la asignación de memoria entre la estructura y la matriz multidimensional?

Estrictamente hablando, depende de su combinación de compilador y arquitectura de CPU. Modificando un poco tu ejemplo:

struct node {
int cn[9];
} ed1[1000]; int ed2[1000][9];

struct node {
int cn[9];
} ed1[1000]; int ed2[1000][9];

un compilador en una arquitectura de 64 bits con int s de 32 bits podría rellenar el struct node a un límite de 64 bits, en cuyo caso sizeof ed1 == 40000 pero sizeof ed2 == 36000 . La mayoría de los compiladores no lo harían, pero el estándar C lo permite.

En cuanto a cuál es mejor, depende de si el struct node tiene algún significado fuera de ed1 (por ejemplo, modela un objeto real). Si es así, entonces ed1[30].cn[5] sería más apropiado que ed2[30][5] , y el primero le permite agregar parámetros adicionales en una fecha posterior.

Usan la misma cantidad de memoria. Cuál debe usar y por qué depende de lo que esté haciendo.

Si usaran la misma memoria, cuál usar probablemente dependería del contexto de uso.

More Interesting

¿Qué define una solución óptima con respecto al problema de la mochila 0-1?

Cómo imprimir una cadena usando un puntero

¿Cuáles son las diferentes formas en que puede obtener la longitud de una matriz en C ++?

¿Cuál es el algoritmo perfecto para extraer la forma, el color, la textura y los bordes de las partes cilíndricas en MATLAB en preparación para el aprendizaje supervisado?

¿Cuál es el algoritmo que utilizan los ferrocarriles indios para la confirmación de un boleto de espera? ¿Cuál es la mejor manera de confirmar un boleto cuando hay una gran lista de espera?

¿Es necesario aprender Java antes de comenzar el curso de Estructuras de datos y Algoritmos en el IIT en Delhi?

¿Se aplican las estructuras de datos y algoritmos para C / C ++ a JavaScript?

¿Qué sitio web / tutorial / video puedo usar para comprender muy bien la programación dinámica en un día?

¿Cuándo se debe comenzar a resolver los problemas del Proyecto Euler en HackerRank? He resuelto alrededor de 50 en SPOJ, entonces, ¿es el momento adecuado para comenzar?

¿Alguna vez tiene que programar sus propias estructuras de datos para una programación competitiva?

¿Qué algoritmo de búsqueda usa True caller?

¿Dónde puedo encontrar problemas difíciles de algoritmo / estructura de datos?

¿Cómo "mira hacia adelante" un algoritmo de aprendizaje por refuerzo para saber qué acción tomar en este momento?

Cómo mostrar el límite de (1 + a_n / n) ^ n = e ^ a si el límite de a_n = a cuando n se aproxima al infinito

¿Cuál es la forma más fácil / intuitiva de aprender sobre algoritmos y estructuras de datos?