The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de Alto Nivel
.
google unix.com



Programación de Alto Nivel Plantear preguntas acerca de C, C + +, Java, SQL, y otros lenguajes de programación aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
direcciones de memoria areef4u Programación de Alto Nivel 0 08-04-2006 07:43 AM
Multibyte caracteres ASCII a jerardfjay Programación de scripts de shell y 8 11-18-2005 02:45 AM
Hexadecimal de caracteres ASCII archivo budrito HP-UX 2 08-10-2005 10:26 PM
pregunta estúpida acerca de caracteres ASCII jalburger Programación de Alto Nivel 2 09-28-2004 03:56 PM
direcciones de memoria Paravozzz Programación de Alto Nivel 0 10-15-2002 12:17 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 01-24-2008
JamesGoh JamesGoh is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 89
lenguaje C + simple pregunta acerca de direcciones de memoria y de caracteres ASCII

Una simple pregunta (que puede parecer tan tonto llevar conmigo) que surgió en mi mente el otro día. Hacer por sí mismos caracteres ASCII (por ejemplo, / n, 0, a) tener una dirección de memoria real?

Mi pregunta surge, porque Im que consciente de que cada vez que crear y initalise un puntero como este por ejemplo

Código:
int *ptr = 5;
Yo siempre conseguir un puntero nulo de error.

muchas gracias
  #2 (Enlace permanente)  
Old 01-24-2008
trébol shamrock is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: octubre 2007
Ubicación: EE.UU.
Posts: 750
Cita:
Publicado originalmente por JamesGoh View Post
Una simple pregunta (que puede parecer tan tonto llevar conmigo) que surgió en mi mente el otro día. Hacer por sí mismos caracteres ASCII (por ejemplo, / n, 0, a) tener una dirección de memoria real?

Mi pregunta surge, porque Im que consciente de que cada vez que crear y initalise un puntero como este por ejemplo

Código:
int *ptr = 5;
Yo siempre conseguir un puntero nulo de error.

muchas gracias
Sí lo hacen. Su declaración crea un puntero, pero no se limitan a una variable de tipo int. ¿Tiene su código de compilar bien y en qué compilador?
  #3 (Enlace permanente)  
Old 01-24-2008
JamesGoh JamesGoh is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 89
Para el código de la que hablé en mi primer post,

Código:
int *ptr=5;
el compilador (estoy usando gcc BTW), producido un aviso diciendo que a partir de un puntero entero se hizo sin una necesaria typecast. (trébol me advirtió de ello, por lo que esta salida de gcc fue probablemente espera).

He intentado este

Código:
char *str="helloworld\n";
printf("string value is %s\n",*str)
y consideró que el programa compilado bien, pero en tiempo de ejecución Tengo un error de segmentación. También encontré que en el primer segmento de código y, si ignora la advertencia de compilador y ejecutar el programa directamente, se obtiene el mismo error en tiempo de ejecución.

Como punteros han de ser asignados a ubicaciones de la memoria (y en el punto a los valores), con respecto a este conocimiento básico y el hecho de que los caracteres ASCII tienen direcciones de memoria, no son dos segmentos de código técnicamente correcto?

Última edición por JamesGoh; al 01-24-2008 07:18 PM..
  #4 (Enlace permanente)  
Old 01-25-2008
trébol shamrock is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: octubre 2007
Ubicación: EE.UU.
Posts: 750
Código:
int *ptr=5;
Puntero sólo puede ser inicializado a cero o nulo si no apunta a una variable de ese tipo.

Código:
char *str="helloworld\n";
printf("string value is %s\n",*str)
El "% s" tiene una especificación de conversión puntero argumento no el carácter que apunta a * str. Así que si desea imprimir toda la cadena ...

Código:
printf("string value is %s\n", str);
y si desea imprimir el carácter que apunta a str * ...

Código:
printf("str points to %c\n", *str);
  #5 (Enlace permanente)  
Old 01-28-2008
JamesGoh JamesGoh is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 89
Cita:
Publicado originalmente por trébol View Post
Código:
int *ptr=5;
Puntero sólo puede ser inicializado a cero o nulo si no apunta a una variable de ese tipo.
Así que esto es siempre el caso (a excepción de las cadenas definidas por el usuario) en el mundo real de programación, aunque los caracteres ASCII (por ejemplo, 5) tienen direcciones de memoria?
  #6 (Enlace permanente)  
Old 01-29-2008
trébol shamrock is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: octubre 2007
Ubicación: EE.UU.
Posts: 750
Cita:
Publicado originalmente por JamesGoh View Post
Así que esto es siempre el caso (a excepción de las cadenas definidas por el usuario) en el mundo real de programación, aunque los caracteres ASCII (por ejemplo, 5) tienen direcciones de memoria?
Sí caracteres ASCII tienen direcciones de memoria a pesar de 5 es un número entero no es un carácter ASCII. Para ser un personaje intrepreted en C debe ser entre comillas simples.

Código:
char v = '5';
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 10:49 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0