Preguntas con la etiqueta [c]

Lista c preguntas

Quiero cambiar el miembro de la estructura con doble puntero. ¿Sabes cómo? Código de ejemplo typedef struct { int member; } Ttype; void changeMember(Ttype **foo) { //I don`t know how

Sé que, siempre que sea posible, debes usar la palabra clave const al pasar parámetros por referencia o por puntero por razones de legibilidad. ¿Hay alguna optimización que pueda hacer

Sintaxis y uso de muestra de _Generic en C11

3
respuestas
96
votos
63.9k
vistas

Escuché que C11 agregó genéricos. Busqué en Google un poco, miré algunos artículos, entendí que hay una nueva palabra clave ( _Generic) y todo. Pero parece que no puedo entenderlo

Para citar la página de manual: Cuando se utilizan variables de condición, siempre hay un predicado booleano que involucra variables compartidas asociadas con cada condición de espera que es verdadera

Considere estas dos definiciones de funciones: void foo() { } void foo(void) { } ¿Hay alguna diferencia entre estos dos? Si no, ¿por qué está voidahí el argumento? ¿Razones estéticas?

¿Qué traducción se produce al escribir en un archivo que se abrió en modo texto y que no se produce en modo binario? Específicamente en MS Visual C. unsigned char

¿Importa de qué manera declaro la mainfunción en un programa C++ (o C)?

#definir macro para depurar la impresión en C?

14
respuestas
259
votos
266.1k
vistas

Intentando crear una macro que pueda usarse para imprimir mensajes de depuración cuando se define DEBUG, como el siguiente pseudocódigo: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args)

Hay toneladas de preguntas similares, pero todavía no pude encontrar ninguna respuesta relevante para la característica de matrices de longitud variable en C99/C11. ¿ Cómo pasar una matriz de longitud

Digamos que tengo el siguiente código C: int main () { int *p = malloc(10 * sizeof *p); *p = 42; return 0; //Exiting without freeing the allocated memory }

Necesito hacer una cosa simple, que solía hacer muchas veces en Java, pero estoy atascado en C (C puro, no C++). La situación se ve así: int *a; void initArray(

Reenviar una invocación de una función variada en C

13
respuestas
244
votos
93.4k
vistas

En C, ¿es posible reenviar la invocación de una función variada? Como en, int my_printf(char *fmt, ...) { fprintf(stderr, "Calling printf with fmt %s", fmt); return SOMEHOW_INVOKE_LIBC_PRINTF; } Obviamente, reenviar

¿Cómo puedo imprimir todas las variables globales/variables locales? ¿Es eso posible en gdb?

Estoy leyendo sobre pthread.h; las funciones relacionadas con la variable de condición (como pthread_cond_wait(3)) requieren un mutex como argumento. ¿Por qué? Por lo que puedo decir, ¿voy a crear un

He asignado una "matriz" de mystructtamaño ncomo esta: if (NULL == (p = calloc(sizeof(struct mystruct) * n,1))) { /* handle error */ } Más adelante solo tengo acceso a p,