Articles of punteros de

Acerca de los punteros a las funciones en declaraciones de funciones

#include #include int fun1() { printf(“I am fun1.”); return 0; } int fun2(int fun()) { fun(); return 0; } int main() { fun2(fun1); return 0; } El progtwig anterior puede ejecutarse. En lo que a mí respecta, puedo entender int fun2(int (*fun)()) , pero no sé cómo funciona int fun2(int fun()) . Gracias.

¿Cómo se asigna la estructura del resultado del tiempo local en C?

Estaba jugando con el archivo time.h en C que nos ayuda con las funciones de tiempo / día. Me encontré con: struct tm * _Cdecl localtime(const time_t *__timer); … que parece devolver un puntero a tm struct. Descubrí que la dirección de devolución se usa principalmente para devolver nuevas asignaciones de memoria. Si esto es […]

Duplicar objetos en Java

Aprendí que cuando modificas una variable en Java, no cambia la variable en la que estaba basada int a = new Integer(5); int b = a; b = b + b; System.out.println(a); // 5 as expected System.out.println(b); // 10 as expected Supuse una cosa similar para los objetos. Considera esta clase. public class SomeObject { […]

¿Por qué Scanf no necesita un ampersand para cadenas y también funciona bien en printf (en C)?

Estoy aprendiendo sobre cadenas en C ahora. ¿Cómo se puede usar scanf para obtener una cadena que puedes hacer? scanf(“%s”,str1); y para printf puedes hacer printf(“The string is %s\n”, str1); Entiendo que para scanf es porque la cadena es solo una matriz de caracteres que es un puntero, pero para printf, ¿cómo es que puedes […]

¿Dos literales de cadena tienen el mismo valor de puntero?

Cuando ejecuto este progtwig usando MinGW, obtengo la salida como “=” #include using namespace std; int main() { char *str1 = “Hello”; char *str2 = “Hello”; if(str1==str2) cout<<"="; else cout<<"!="; return 0; } Sin embargo, lógicamente, debería ser! =, Porque estos son punteros y apuntan a diferentes ubicaciones de memoria. Cuando ejecuto este código en […]

Compruebe si un puntero apunta a la memoria asignada en el montón

Quiero saber si un puntero apunta a una pieza de memoria asignada con malloc / new. Me doy cuenta de que la respuesta para una dirección arbitraria es “No, no puedo”, pero creo que es posible anular malloc / free y realizar un seguimiento de los intervalos de memoria asignados. ¿Conoces una biblioteca de gestión […]

Diferencia entre el puntero a una referencia y referencia a un puntero

¿Cuál es la diferencia entre un puntero a una referencia, una referencia a un puntero y un puntero a un puntero en C ++? ¿Dónde debería uno ser preferido sobre el otro?

Parámetro que pasa en C – Punteros, direcciones, alias

¿Podría alguien explicar la diferencia entre el parámetro que pasa en C por favor? De acuerdo con las notas del profesor, hay 4 formas diferentes de pasar parámetros Llamada por valor Llamada por dirección (puntero) Llamada por alias Variable global / variable estática Si pudiera dar un ejemplo, lo agradecería mucho, y su trabajo sería […]

Devolver un puntero de una variable local C ++

Necesito crear una función que devuelva un puntero a un int. Al igual que: int * count() { int myInt = 5; int * const p = &myInt; return p; } Como un puntero es simplemente una dirección, y la variable myInt se destruye después de llamar a esta función. ¿Cómo declaro un int dentro […]

Modificar una cadena char * const

Sé que const char * es un puntero a un const char, mientras que char *const es un puntero constante a un char. Estoy probando esto en el siguiente código: const char *s = “hello”; // Not permitted to modify the string “hello” char *const t = “world”; // Not permitted to modify the pointer […]