Preguntas con la etiqueta [c]

Lista c preguntas

¿Cómo uso correctamente SDL2 en mis programas?

3
respuestas
31
votos
19.3k
vistas

Quiero crear un juego usando SDL2, pero no puedo compilar ni ejecutar mi código, ¡por favor ayuda! SDL2 es muy difícil de configurar y, a menudo, es la primera biblioteca

¿Cómo funcionan malloc() y free()?

13
respuestas
322
votos
203.7k
vistas

Quiero saber como mallocy freetrabajar. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I

¿Alguien puede explicar por qué b se redondea aquí cuando lo divido por un número entero aunque es un flotante? #include <stdio.h> void main() { int a; float b, c,

ARM: registro de enlace y puntero de marco

2
respuestas
41
votos
72.9k
vistas

Estoy tratando de entender cómo funcionan el registro de enlace y el puntero de marco en ARM. He estado en un par de sitios y quería confirmar lo que entendí.

Mi tarea actual es codificar una función a la que se le asigna un FILEpuntero y un puntero a una cadena. La función debe analizar cuántas veces aparece la cadena

Dirección de retorno de la variable local en C

5
respuestas
14
votos
36.9k
vistas

Digamos que tengo las siguientes dos funciones: 1 int * foo() { int b=8; int * temp=&b; return temp; } 2 int * foo() { int b=8; return &b; }

Digamos que tengo un archivo fuente con muchas directivas de preprocesador. ¿Es posible ver cómo se ve una vez que el preprocesador haya terminado?

Macro de tamaño de matriz que rechaza punteros

10
respuestas
79
votos
20.5k
vistas

La macro estándar de tamaño de matriz que a menudo se enseña es #define ARRAYSIZE(arr) (sizeof(arr) / sizeof(arr[0])) o alguna formación equivalente. Sin embargo, este tipo de cosas tiene éxito

¿Post-incremento en un puntero desreferenciado?

13
respuestas
71
votos
59.4k
vistas

Al intentar comprender el comportamiento de los punteros en C, me sorprendió un poco lo siguiente (código de ejemplo a continuación): #include <stdio.h> void add_one_v1(int *our_var_ptr) { *our_var_ptr = *our_var_ptr

Después de publicar aquí una de mis respuestas más controvertidas , me atrevo a hacer algunas preguntas y eventualmente llenar algunos vacíos en mi conocimiento. ¿Por qué una expresión de

rareza constante del puntero typedef

6
respuestas
31
votos
19.3k
vistas

por favor considere el siguiente código: typedef struct Person* PersonRef; struct Person { int age; }; const PersonRef person = NULL; void changePerson(PersonRef newPerson) { person = newPerson; } Por

matriz de longitud fija typedef

7
respuestas
255
votos
290.5k
vistas

Tengo que definir un tipo de datos de 24 bits. Lo estoy usando char[3]para representar el tipo. ¿Puedo escribir definición char[3]en type24? Lo probé en un ejemplo de código. Puse

_DEBUG frente a NDEBUG

7
respuestas
183
votos
210.2k
vistas

¿Qué definición de preprocesador debería usarse para especificar secciones de código de depuración? Utilice #ifdef _DEBUGo #ifndef NDEBUGo ¿hay una mejor manera de hacerlo, por ejemplo #define MY_DEBUG? Creo _DEBUGque

Macro vs función en C

11
respuestas
126
votos
105.4k
vistas

A menudo veo casos en los que usar una macro es mejor que usar una función. ¿Alguien podría explicarme con un ejemplo la desventaja de una macro frente a una

¿Cuál es la forma más sencilla (menos propensa a errores, menos líneas de código, como quiera interpretarlo) de abrir un archivo en C y leer su contenido en una cadena