Articles of do

C – leer y almacenar el archivo de datos para cálculos posteriores

Normalmente uso R y tengo muchos problemas para entender C. Necesito leer y almacenar un archivo de datos, que se muestra a continuación, para poder realizar cálculos en los datos. Estos cálculos dependen de la información introducida por el usuario. Aquí están los datos que estoy tratando de leer (llamados “Descargas / exchange.dat” en mi […]

¿Por qué no hay calloc alineado en C11

El estándar C11 agregó la función aligned_alloc para asignar memoria alineada no inicializada. El estándar también incluye la función calloc para asignar memoria que se inicializa a cero pero solo la alinea con el tamaño del tipo más grande. ¿Por qué el estándar C11 no incluye una función aligned_calloc que asigna memoria alineada que se […]

¿Cuál es la diferencia entre un calificador y un modificador en C?

Me gustaría saber la diferencia entre un calificador y un modificador. Algunos libros sugieren que volatile es un modificador, otros lo consideran un calificador. Entonces, ¿qué es exactamente un modificador y un calificador, con respecto a una variable?

Cómo devolver una matriz de caracteres desde una función en C

Quiero devolver una matriz de caracteres de una función. Entonces quiero imprimirlo en main . ¿Cómo puedo recuperar la matriz de caracteres en la función main ? #include #include int main() { int i=0,j=2; char s[]=”String”; char *test; test=substring(i,j,*s); printf(“%s”,test); return 0; } char *substring(int i,int j,char *ch) { int m,n,k=0; char *ch1; ch1=(char*)malloc((j-i+1)*1); n=j-i+1; […]

¿Cómo generar un número aleatorio entre 0 y 1?

Quiero generar números aleatorios entre (0,1). Estoy intentando lo siguiente: double r2() { return((rand() % 10000) / 10000.0); } int SA() { double u; u = r2(); } Pero no genera el resultado esperado. ¿Cómo puedo arreglarlo?

No se pueden asignar más de un millón de enteros.

Estoy tratando de medir el tiempo y comparar los algoritmos de clasificación. Por lo que entiendo: sizeof(int) es de 4 bytes, por lo tanto, int array[one million]; produce (4) millones de bytes, lo que equivale a 4,000 kb o 4 mb aproximadamente. Entonces, ¿por qué no puedo? Estoy bastante seguro de que tengo más. 2gb […]

¿Diferencia en la disposición de bloques de memoria asignada por malloc y calloc?

calloc asigna bloques num de memoria, cada uno de tamaño size : void * calloc ( size_t num, size_t size ); Asignar espacio para la matriz en la memoria Asigna un bloque de memoria para una matriz de elementos numéricos, cada uno de ellos con un tamaño de bytes, e inicializa todos sus bits a […]

Función de biblioteca C para verificar la pulsación de tecla desde el teclado (en linux)

¿Existe alguna función de biblioteca C para verificar la pulsación de tecla desde el teclado (estoy trabajando en una máquina Linux).

Funciones C tomando el parámetro de función void *

Antes tenía una estructura C typedef struct c { int cc; }CS; Solía ​​llamar a una función de biblioteca decir int GetData (CS * x) que me estaba devolviendo la estructura C anterior con datos. GetData(CS *x) La función llamada solía ser como: CS CSobj; GetData(&CSObj); Ahora hay dos estructuras dicen C y D typedef […]

manipulación de un solo bit

¿Es posible obtener solo un bit de int en C y luego voltearlo sin leer todo el int y escribirlo en la memoria? contexto: tratando de evitar demasiados lockings / deslockings en pthread.