Ver Mensaje Individual
  #43 (permalink)  
Antiguo 26/09/2006, 01:04
Nivel7
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 1 mes
Puntos: 2
vamos MaxExtreme, no es para molestarse, tan solo es un tema que me gustará que quedara claro.
si mecione tu comentario no es para ofender, o desacrditar sino, para salvar mi comentario anterior.
si te ofendí por eso, me disculpo, pero esto no evita en insitir en que no estoy equivocado.

Código:
#include <stdio.h>

int main()
{
	char cad[] = "La aritmetica es correcta";
	
	char *result1 = (char*)((char*     )&cad[25] - 8);
	char *result2 = (char*)((short*    )&cad[25] - 4);
	char *result3 = (char*)((int*      )&cad[25] - 2);
	char *result4 = (char*)((long long*)&cad[25] - 1);
	
	puts(result1);
	puts(result2);
	puts(result3);
	puts(result4);
	
	puts("\nLa aritmetica de punteros sabe de tipos");
	getchar();
}
Código:
/*
El resultado es:

correcta
correcta
correcta
correcta

La aritmetica de punteros sabe de tipos
*/
"No soy perfecto en C pero intento serlo, por eso siempre acepto cualquier correcion sobre mis errores."

Donde escuche esto???

Saludos.

Una cita de un fragmento del Manual de C++, de Zator:

4.2.2 Aritmética de punteros
§1 Sinopsis

La aritmética de punteros se limita a suma, resta, comparación y asignación. Las operaciones aritméticas en los punteros de tipoX (punteros-a-tipoX) tienen automáticamente en cuenta el tamaño real de tipoX. Es decir, el número de bytes necesario para almacenar un objeto tipoX.
Por ejemplo, suponiendo una matriz de double con 100 elementos, si ptr es un puntero a dicha matriz, la sentencia ptr++; supone incrementar el Rvalue de ptr en 6.400 bits, porque el tamaño de la matriz es precisamente 100x64 bits.

Nota: no confundir el puntero-a-matriz con un puntero a su primer elemento (que aquí sería puntero-a-double).

La aritmética realizada internamente en los punteros depende del modelo de memoria en uso y de la presencia de cualquier modificador superpuesto.

Las operaciones que implican dos punteros exigen que sean del mismo tipo o se realice previamente un modelado apropiado

Última edición por Nivel7; 26/09/2006 a las 01:25