Articles of tamaño

¿Cómo podría ser posible leer y escribir más allá de la matriz?

Salida del progtwig: #include int main() { int size; printf(“Enter the size of array: “); scanf(“%d”,&size); int b[size],i = 0; printf(“Enter %d integers to be printed: “,size); while(i++ < size) { scanf("%d",&b[i]); printf("%d %d\n", i, b[i]); } return 0; } para size = 5 y números de entrada: 0 1 2 3 4 es 1 […]

¿El tamaño del entero o cualquier otro tipo de datos en C depende de la architecture subyacente?

#include int main() { int c; return 0; } // on Intel architecture #include int main() { int c; return 0; }// on AMD architecture / * Aquí tengo un código en las dos máquinas diferentes y quiero saber ‘El tamaño de los tipos de datos depende de la máquina’ * /

¿ARRAY_SIZE devuelve un comportamiento indefinido cuando la matriz está vacía?

¿ARRAY_SIZE devuelve un comportamiento indefinido cuando la matriz está vacía? porque hacemos un desvío de tamaño inexistente sizeof((X)[0]) #include #include #include #ifndef ARRAY_SIZE #define ARRAY_SIZE(X) sizeof((X))/sizeof((X)[0]) #endif struct ka { int a; int b; }; int main(void) { struct ka k[] = {}; printf(“%d\n”, ARRAY_SIZE(k)); }

sizeof (array) / sizeof (int)

Dentro de una función he declarado una matriz: int char_count_array[118] = {0}; Más adelante, paso esta matriz a una función y calculo lo siguiente: int xx = sizeof(char_count_array); int xy = sizeof(char_count_array)/sizeof(int); Sin embargo, el resultado que obtengo es: xx = 4 xy = 1 Pensé que obtendría: xx = 472 (118 * 4) xy […]

Operaciones con diferentes tipos de int.

Tengo un progtwig que utiliza varios tipos int diferentes. Los más utilizados son uint64_t y el estándar int . Sin embargo, me pregunto si puedo hacer con seguridad operaciones mezcladas entre ellos. Por ejemplo, tengo un uint64_t y quiero agregarle un int y almacenar ese valor como otro uint64_t . ¿Es seguro hacer algo así? […]

C: ¿Cómo determinar sizeof (array) / sizeof (struct) para array externo?

Define el tipo x una matriz X de ese tipo. xh: typedef struct _x {int p, q, r;} x; extern x X[]; Archivo separado para mantener la enorme matriz X xc: #include “xh” x X[] = {/* lotsa stuff */}; Ahora quiero usar X : C Principal: #include “xh” int main() { int i; for […]

Encontrar el valor máximo de una variable int corta en C

Estaba trabajando en el Ejercicio 2-1 de K&R, el objective es calcular el rango de los diferentes tipos de variables, a continuación se muestra mi función para calcular el valor máximo que puede contener un short int : short int max_short(void) { short int i = 1, j = 0, k = 0; while (i […]

C Pregunta: ¿Por qué la char en realidad ocupa 4 bytes en la memoria?

Escribí un pequeño progtwig para verificar cuántos bytes ocupa el char en mi memoria y muestra que el char ocupa realmente 4 bytes en la memoria. Entiendo que se debe principalmente a la alineación de palabras y no veo la ventaja de que un carácter de caracteres sea de solo 1 byte. ¿Por qué no […]

tamaño de la matriz de punteros

Tengo una duda sobre el operador sizeof Código 1: int main() { int p[10]; printf(“%d”,sizeof(p)); //output — 40 return 0; } Código 2: int main() { int *p[10]; printf(“%d”,sizeof(*p)); //output — 4 return 0; } en el primer código p apunta a una matriz de entradas. en el segundo código p apunta a una matriz […]

¿El estándar C requiere que el tamaño de una matriz de n elementos sea n veces el tamaño de un elemento?

¿El estándar de C requiere que el tamaño de una matriz de n elementos sea n veces el tamaño de un elemento, ya sea por statement explícita o por deducción lógica rigurosa de sus requisitos? Por ejemplo, podría int (*x)[5] = malloc(5 * sizeof **x); ¿No puede solicitar espacio suficiente para una matriz de cinco […]