Red de conocimiento informático - Espacio del host - Estoy usando arm7 para diseñar un programa de reproducción de música basado en pwm.

Estoy usando arm7 para diseñar un programa de reproducción de música basado en pwm.

sizeof(HCMM) / 4

Una mejor manera de escribirlo es

sizeof(HCMM) / sizeof(uint32)

(Por el nombre, uint32 es Entero sin signo de 32 bits, ocupa 4 bytes)

El valor de esta expresión es igual al número de elementos de la matriz HCMM.

Debido a que HCMM es un tipo de matriz, puede obtener el número de elementos dividiéndolo por el número de bytes ocupados por sus elementos. De esta manera, si necesita modificar el HCMM, agregar o eliminar elementos no necesita cambiar el número total de elementos en todos los bucles transversales.

Cuando PD. HCMM es un puntero, sizeof(HCMM) devuelve sizeof(int), por lo que este método no se puede utilizar para determinar el número de elementos.

PS2. Debido a que el valor de la expresión sizeof se calcula en tiempo de compilación, incluso si la expresión es compleja, no reducirá la eficiencia del programa durante el tiempo de ejecución. Para la expresión de división aquí, debido a que ambos operandos son constantes en tiempo de compilación, se optimizarán en constantes sin reducir la eficiencia.

====

[Grupo de respuesta original]