Preguntas etiquetadas con c

C es un lenguaje de programación de uso general utilizado para la programación del sistema (SO e incrustado), bibliotecas, juegos y multiplataforma. Esta etiqueta debe usarse con preguntas generales sobre el lenguaje C, como se define en el estándar ISO 9899 (la última versión, 9899: 2018, a menos que se especifique lo contrario; también etiquete las solicitudes específicas de la versión con c89, c99, c11, etc.). C es distinto de C ++ y no debe combinarse con la etiqueta C ++ en ausencia de una razón racional.

7
Inicialización de la matriz 2D completa con un valor
Con la siguiente declaración int array[ROW][COLUMN]={0}; Obtengo la matriz con todos los ceros pero con el siguiente int array[ROW][COLUMN]={1}; No obtengo la matriz con un solo valor. El valor predeterminado sigue siendo 0. ¿Por qué este comportamiento y cómo puedo inicializar con todos 1? EDITAR: Acabo de entender que usar …

7
Comprender la macro container_of en el kernel de Linux
Cuando estaba navegando por el kernel de Linux, encontré una container_ofmacro que se define de la siguiente manera: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) Entiendo lo que hace container_of, pero lo que no entiendo …


9
¿Cómo ejecutar el programa C en Mac OS X usando Terminal?
Soy nuevo en C. Aquí está mi "¡Hola, mundo!" programa. #include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } Después de intentar ejecutarlo usando Terminal, dice: MacBook-Pro-MacBook:~ macbook$ /Users/macbook/Desktop/peng/Untitled1 -bash: /Users/macbook/Desktop/peng/Untitled1: Permission denied MacBook-Pro-MacBook:~ macbook$ ¿Por qué?
81 c  macos  bash 



3
¿Por qué la almohadilla GCC funciona con NOP?
He estado trabajando con C por un tiempo y recientemente comencé a entrar en ASM. Cuando compilo un programa: int main(void) { int a = 0; a += 1; return 0; } El desmontaje de objdump tiene el código, pero nops después de ret: ... 08048394 <main>: 8048394: 55 push …
81 c  gcc  assembly 

9
¿Es posible modificar una cadena de caracteres en C?
He estado luchando durante unas horas con todo tipo de tutoriales de C y libros relacionados con los punteros, pero lo que realmente quiero saber es si es posible cambiar un puntero de caracteres una vez que se ha creado. Esto es lo que he probado: char *a = "This …
81 c  string  debugging 

4
Macros de preprocesador de varias líneas
¿Cómo hacer una macro de preprocesador de varias líneas? Sé cómo hacer una línea: #define sqr(X) (X*X) pero necesito algo como esto: #define someMacro(X) class X : public otherClass { int foo; void doFoo(); }; ¿Cómo puedo hacer que esto funcione? Este es solo un ejemplo, la macro real puede …
81 c++  c  c-preprocessor 

1
Python: ¿por qué * y ** son más rápidos que / y sqrt ()?
Mientras optimizaba mi código, me di cuenta de lo siguiente: >>> from timeit import Timer as T >>> T(lambda : 1234567890 / 4.0).repeat() [0.22256922721862793, 0.20560789108276367, 0.20530295372009277] >>> from __future__ import division >>> T(lambda : 1234567890 / 4).repeat() [0.14969301223754883, 0.14155197143554688, 0.14141488075256348] >>> T(lambda : 1234567890 * 0.25).repeat() [0.13619112968444824, 0.1281130313873291, 0.12830305099487305] y …





4
¿Se garantiza que sea seguro realizar memcpy (0,0,0)?
No conozco muy bien el estándar C, así que tengan paciencia conmigo. Me gustaría saber si está garantizado, según el estándar, que memcpy(0,0,0)es seguro. La única restricción que pude encontrar es que si las regiones de memoria se superponen, entonces el comportamiento no está definido ... Pero, ¿podemos considerar que …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.