¿Cuándo se llama a los constructores?

¿Cuándo se llama a los constructores para diferentes tipos de objetos como global, local, local estático, dinámico? 1) Objetos globales: para un objeto global, se llama al constructor antes de llamar a main(). Por ejemplo, vea el siguiente programa y salida:   C #include<iostream> using namespace std;   class Test { public:   Test(); };   Test::Test()  { … Continue reading «¿Cuándo se llama a los constructores?»

malloc() frente a nuevo

Las siguientes son las diferencias entre malloc() y el operador new. :  Llamando a los constructores: new llama a los constructores, mientras que malloc() no lo hace. De hecho, los tipos de datos primitivos (char, int, float… etc.) también se pueden inicializar con new. Por ejemplo, el siguiente programa imprime 10. CPP #include<iostream> using namespace … Continue reading «malloc() frente a nuevo»

Implemente su propio tamaño de

Aquí hay una implementación. #include<stdio.h> #define my_sizeof(type) (char *)(&type+1)-(char*)(&type) int main() {     double x;     printf(«%ld», my_sizeof(x));     getchar();     return 0; } El tipo es como una variable local para la macro. &tipo da la dirección de la variable (doble x) declarada en el programa y al incrementarla en 1 da la dirección donde se puede almacenar … Continue reading «Implemente su propio tamaño de»

¿Por qué C se considera más rápido que otros lenguajes?

Es posible que haya encontrado estas declaraciones, C está más optimizado o el rendimiento de C es mejor que los lenguajes superiores, por lo que discutiré las razones de esta hipótesis.  Primero, enumeremos las funcionalidades que proporcionan lenguajes como Java y no C:  Comprobación de límite de índice de array Comprobación de valores de variables … Continue reading «¿Por qué C se considera más rápido que otros lenguajes?»

Analizando BufferOverflow con GDB

Pre-requisito: GDB (Introducción Paso a Paso) Un desbordamiento de búfer a menudo ocurre cuando el contenido dentro de la variable definida se copia a otra variable sin realizar comprobaciones vinculadas o sin considerar el tamaño del búfer. Analicemos el desbordamiento del búfer con la ayuda del depurador GNU (GDB) que está incorporado en todos los … Continue reading «Analizando BufferOverflow con GDB»

Estructuras en C

  ¿Qué es una estructura?  Una estructura es una palabra clave que crea un tipo de datos definido por el usuario en C/C++. Una estructura crea un tipo de datos que se puede usar para agrupar elementos de tipos posiblemente diferentes en un solo tipo.   C struct address {    char name[50];    char street[100];    char city[50]; … Continue reading «Estructuras en C»

Tipos de datos en C

  Cada variable en C tiene un tipo de dato asociado. Cada tipo de datos requiere diferentes cantidades de memoria y tiene algunas operaciones específicas que se pueden realizar sobre él. Describámoslos brevemente uno por uno: Los siguientes son ejemplos de algunos tipos de datos muy comunes que se usan en C: char: El tipo … Continue reading «Tipos de datos en C»

¿Cómo imprimir% usando printf()?

Preguntado por Tanuj Aquí está el prototipo estándar de la función printf en C. int printf(const char *format, …); La string de formato se compone de cero o más directivas: caracteres ordinarios (no %), que se copian sin cambios en el flujo de salida; y especificaciones de conversión, cada uno de los argumentos (y es … Continue reading «¿Cómo imprimir% usando printf()?»

Una pregunta del operador de coma

Considere los siguientes programas en C. // PROGRAM 1 #include<stdio.h>    int main(void) {     int a = 1, 2, 3;     printf(«%d», a);     return 0; } El programa anterior falla en la compilación, pero el siguiente programa compila bien e imprime 1. // PROGRAM 2 #include<stdio.h>    int main(void) {     int a;     a = 1, 2, … Continue reading «Una pregunta del operador de coma»

Escriba una función C de una línea para redondear números de coma flotante

Algoritmo: roundNo(num) 1. Si num es positivo, agregue 0.5. 2. De lo contrario, reste 0,5. 3. Escriba cast the result a int y regrese. Ejemplo: num = 1.67, (int) num + 0.5 = (int)2.17 = 2 num = -1.67, (int) num – 0.5 = -(int)2.17 = -2 Implementación: /* Program for rounding floating point numbers … Continue reading «Escriba una función C de una línea para redondear números de coma flotante»