Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

246
Vistas
Qué ! (char*) significa en C

Estaba mirando un ejemplo y vi esto:

 char *str; /* ... */ if (!str || !*str) { return str; }

¿Significa que está vacío o algo así?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

str es un puntero char. ! lo niega. Básicamente, !str se evaluará como verdadero (1) cuando str == NULL .

La segunda parte dice, (si str apunta a algo) evalúa como verdadero (1) si el primer carácter es un carácter nulo ( '\0' ), lo que significa que es una cadena vacía.

Nota:
*str elimina la referencia del puntero y recupera el primer carácter. Esto es lo mismo que hacer str[0] .

over 4 years ago · Santiago Trujillo Denunciar

0

!str significa que no hay memoria asignada a str . !*str significa que str apunta a una cadena vacía.

over 4 years ago · Santiago Trujillo Denunciar

0

Antes de preguntar puedes hacer pequeñas pruebas.

 #include <stdio.h> int main() { char *str = "test"; printf("%d\n",*str); printf("%c\n",*str); // str[0] printf("%d\n",str); if (!str || !*str) { printf("%s",str); } return 0; }

significado de ! es negación. Excepto 0 , todos los valores son verdaderos para la condición if . Aquí, str y *str devuelven valores que no son 0 . Entonces, puedes hacer una inferencia.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda