Ver Mensaje Individual
  #16  
Antiguo 20-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No. char* es un puntero a un caracter (char), o mas bien, un número de 16 bits. Por convenio, las cadenas en C terminan en nulo, Así con un puntero a un char (char*) puedes referirte a una cadena si quieres. Así char* apunta el primer caracter de la cadena. El nulo te indica el final de la cadena, de esta forma no tienes que conocer su longitud. Evidentemente para que char* sea una cadena de caracteres, se debe tener reservada memoria consecutiva + un caracter que será el nulo.

Yo copio esa memoria consecutiva, desde el primen cáracter hasta el nulo, incluido en la memoria compartida, es decir, en esa memoria no hay punteros, solo valores de tipo char (caracteres). Que es lo que tratas de explicar en pascal (string[x] o a un array[0..x] of char).

No se si me explico bien.
Saludos.

Última edición por escafandra fecha: 20-02-2008 a las 11:06:15.
Responder Con Cita