Diferencia entre usar aritmetica de punteros y corchetes en vectores en C

Iniciado por xoker, 26 Diciembre 2013, 10:43 AM

0 Miembros y 1 Visitante están viendo este tema.

xoker

Buenas, pues simplemente esa es mi pregunta, siempre pense que lo tenia claro, que era indistinto usar una u otra opcion, pero para memorias dinamicas era forzoso usar aritmetica de punteros (eso me contaron en la universidad...  :huh:), pero tras acceder a un vector dinamico con corchetes sin ningun problema pues de repente me he dado cuenta de que no es necesario usar aritmetica de punteros forzosamente en ningun caso... es esto asi?

Para que no quede duda, con aritmetica de punteros me refiero a acceder a una posicion de un vector tal que asi: *(vector + i), y por la forma de los corchetes (no recuerdo su nombre  :silbar:) me refiero a: vector.

Un saludo y a ver si podeis sacarme del lio!

amchacon

No es necesario en ningún caso, la diferencia es inapreciable actualmente y en muchas ocasiones el compilador hace ese trabajo por ti.

Por cierto la aritmetica de punteros parte de ir incrementando el puntero (sobreescribiendolo), si haces una cuenta fija (p+i) estas haciendo lo mismo que los corchetes.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

xoker

Cita de: amchacon en 26 Diciembre 2013, 12:57 PM
No es necesario en ningún caso, la diferencia es inapreciable actualmente y en muchas ocasiones el compilador hace ese trabajo por ti.

Por cierto la aritmetica de punteros parte de ir incrementando el puntero (sobreescribiendolo), si haces una cuenta fija (p+i) estas haciendo lo mismo que los corchetes.

Pues listo, perfecto entonces con la duda, muchas gracias por responder.

A partir de ahora, siempre usare los corchetes! No entiendo porque en la facultad nos cuentan tantas mentiras...  >:(

amchacon

Pues porque hace 20 años se miraba muchísimo la eficiencia (a veces se rescribían métodos en ensamblador para mejorarla aún más).

Hoy en día los compiladores son muchísimos mejores que antes. Esas optimizaciones ya las suelen hacer ellos solitos (y si no, tampoco vas a notar ninguna diferencia).

El porque siguen contando esto es porque hay muchos profesores prehístoricos que no se reciclan ni a tiros  :silbar:
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

ivancea96

Recordemos, que la aritmética de punteros es ir un paso más hacia la comprensión de cómo funcionan los punteros.
Me parece realmente útil saberla, aunque menos útil utilizarla en proyectos.

Enviado desde mi ST21i mediante Tapatalk