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.

13
¿Cómo funcionan malloc () y free ()?
Quiero saber cómo 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 need how it works and why crash. cout << p; return 0; } Estaría realmente agradecido si la respuesta es …


18
Palabra clave "registrarse" en C?
¿Qué hace la registerpalabra clave en lenguaje C? He leído que se usa para optimizar pero no está claramente definido en ningún estándar. ¿Sigue siendo relevante y, de ser así, cuándo lo usarías?
273 c  memory  keyword 


13
¿Cómo definir un tipo enumerado (enum) en C?
No estoy seguro de cuál es la sintaxis adecuada para usar las enumeraciones C. Tengo el siguiente código: enum {RANDOM, IMMEDIATE, SEARCH} strategy; strategy = IMMEDIATE; Pero esto no se compila, con el siguiente error: error: conflicting types for ‘strategy’ error: previous declaration of ‘strategy’ was here ¿Qué estoy haciendo …
272 c  enums 




30
¿Cómo evitar las cadenas "si"?
Suponiendo que tengo este pseudocódigo: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); Las funciones executeStepXdeben ejecutarse si y solo si las anteriores tienen éxito. En cualquier caso, la executeThisFunctionInAnyCasefunción debe llamarse al final. Soy …

8
¿Qué hace realmente abrir un archivo?
En todos los lenguajes de programación (que utilizo al menos), debe abrir un archivo antes de poder leerlo o escribirlo. Pero, ¿qué hace realmente esta operación abierta? Las páginas de manual para funciones típicas en realidad no le dicen nada más que 'abre un archivo para leer / escribir': http://www.cplusplus.com/reference/cstdio/fopen/ …
266 c  linux 

11
¿Es bool un tipo C nativo?
Me di cuenta de que el código del kernel de Linux usa bool, pero pensé que bool era un tipo C ++. ¿Bool es una extensión C estándar (por ejemplo, ISO C90) o una extensión GCC?
265 c  gcc  linux-kernel  boolean 


14
¿Cómo creo una matriz de cadenas en C?
Estoy tratando de crear una matriz de cadenas en C. Si uso este código: char (*a[2])[14]; a[0]="blah"; a[1]="hmm"; gcc me da "advertencia: asignación de tipo de puntero incompatible". ¿Cuál es la forma correcta de hacer esto? editar: Tengo curiosidad por qué esto debería dar una advertencia del compilador ya que …
263 c  arrays  string 

10
Techo rápido de una división entera en C / C ++
Dados los valores enteros xy y, C y C ++, ambos devuelven como cociente q = x/yel piso del equivalente de coma flotante. Estoy interesado en un método para devolver el techo en su lugar. Por ejemplo, ceil(10/5)=2y ceil(11/5)=3. El enfoque obvio implica algo como: q = x / y; …
262 c++  c  algorithm  math 


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.