Resultados de la búsqueda a petición "c"
a forma más rápida de voltear el signo de un doble / flotante en C
Cuál es la forma más rápida de voltear el signo de un doble (o flotante) en C? ensé que acceder al bit de signo directamente sería la forma más rápida y encontré lo siguiente: double a = 5.0; *(__int64*)&a |= 0x8000000000000000; // a = -5.0 ...
Aritmética de puntero: ++ * ptr o * ptr ++?
stoy aprendiendo lenguaje C y confundí bastante las diferencias entre++*ptr y*ptr++. Por ejemplo int x = 19; int *ptr = &x;Lo sé++*ptr y*ptr++ produce resultados diferentes pero no estoy seguro de por qué es eso
¿Por qué esta declaración produce un error de enlace con gcc?
Tengo este fragmento de código C extremadamente trivial: static int arr[]; int main(void) { *arr = 4; return 0; } Entiendo que la primera declaración es ilegal (he declarado una matriz de alcance de archivo con una duración de almacenamiento ...
¿Por qué una salida no puede ser seguida por una entrada y viceversa?
De APUE Cuando se abre un archivo para leer y escribir (el signo más en el tipo), se aplican dos restricciones. • La salida no puede ser seguida directamente por la entrada sin un flujo intermedio, fseek, fsetpos o rebobinado. • La entrada ...
Malloc -> ¿cuánta memoria se ha asignado?
# include <stdio.h> # include <stdbool.h> # include <string.h> # include <stdlib.h> int main () { char * buffer; buffer = malloc (2); if (buffer == NULL){ printf("big errors"); } strcpy(buffer, "hello"); printf("buffer is %s\n", buffer); ...
¿Por qué la latencia de escritura TCP empeora cuando el trabajo se intercala?
He estado perfilando la latencia TCP (en particular, lawrite desde el espacio del usuario al espacio del kernel de un mensaje pequeño) para tener una idea de la latencia de unwrite (reconociendo que esto puede ser específico del contexto). He ...
Casting puntero int a puntero char provoca la pérdida de datos en C?
Tengo el siguiente código: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int n = 260; int *p = &n; char *pp = (char*)p; *pp = 0; printf("n = %d\n", n); system("PAUSE"); return 0; } La salida puesta del programa esn = ...
diferencia entre imprimir una dirección de memoria usando% u y% d en C?
Estoy leyendo un libro de C. Para imprimir una dirección de memoria de una variable, a veces el libro usa: printf("%u\n",&n);A veces, el autor escribió: printf("%d\n",&n);El resultado es siempre el mismo, pero no entiendo las diferencias entre ...
Inserte un nuevo nodo al comienzo de Linked-List
En una implementación simple de Linked List en C, no pude encontrar una línea de función llamada insert (). Se necesita un carácter y se agrega a la lista vinculada en orden alfabético. La línea trata sobre la creación de un nuevo nodo cuando la ...
Dormir durante una duración exacta
Mi comprensión de la función de reposo es que sigue "al menos la semántica", es decir, el reposo (5) garantizará que el hilo duerma durante 5 segundos, pero puede permanecer bloqueado durante más de 5 segundos dependiendo de otros factores. ¿Hay ...