Articles of punteros

Puntero constante vs Puntero a constante

Quiero saber la diferencia entre const int* ptr; y int * const ptr; y cómo funciona Es bastante difícil para mí entender o recordar esto. Por favor ayuda.

Uso de punteros dobles después de la memoria asignada dentro de la función

Estaba jugando con dobles punteros en C y me preguntaba si crearía una función que inicializara la tabla, se bloqueará al volver a la principal cuando intente hacer uso de la memoria asignada por InitStringTable. Creo que una solución simple es hacer que strTable sea global y luego creo que está bien, pero prefiero no […]

constness y punteros a punteros

Estoy muy confundido sobre la palabra clave const . Tengo una función que acepta una matriz de cadenas como parámetro de entrada y una función que acepta una cantidad variable de argumentos. void dtree_joinpaths(char* output_buffer, int count, …); void dtree_joinpaths_a(char* output_buffer, int count, const char** paths); dtree_joinpaths invoca internamente dtree_joinpaths_a después de que ha creado […]

Cortar un puntero de corte pasado como argumento

Tengo el siguiente código: func main() { var buf []byte{1, 2, 3, 4, 5} buf = buf[2:] fmt.Println(buf) panic(1) } Sin embargo, quiero pasar un puntero al segmento de byte buf a otra función, y cortarlo allí, así que algo así como: func main() { var buf []byte{1, 2, 3, 4, 5} sliceArr(&buf, 2) fmt.Println(buf) […]

Diferencia de puntero / dirección

¿Por qué la diferencia entre las dos direcciones es incorrecta? http://codepad.org/NGDqFWjJ #include int main() { int i = 10, j = 20; int *p = &i; int *q = &j; int c = p – q; printf(“%d\n”, p); printf(“%d\n”, q); printf(“%d”, c); return 0; } Salida: -1083846364 -1083846368 1

Punteros: diferencia entre matriz y puntero

¿Cuál es la diferencia entre a, & a, dirección del primer elemento a [0]? De manera similar, p es un puntero a un entero pero asignado como una dirección de matriz. ¿Ese puntero [] haría la aritmética del puntero y obtendría el valor según el tipo de datos? Además, ¿qué valor * espera? ¿Debería ser […]

usando printf para imprimir valores flotantes

#include #include int main(void) { int x, *ptr_x; float f , *ptr_f; ptr_f = &f; ptr_x = &x; *ptr_x = 5; *ptr_f = 1.5; //printf(“%d %f\n”, f,x); printf (“\n\nxd = %d \t xf = %f \n ff = %f \t fd = %d”, x,x,f,f); return 0; } La salida para ff =% f no se […]

puntero de un puntero en la lista vinculada anexar

Normalmente programo en Python. Para boost el rendimiento de mis simulaciones, estoy aprendiendo C. Tengo un problema para entender el uso de un puntero de un puntero al implementar la función de agregar a una lista vinculada. Este es un extracto del código de mi libro (Comprensión de los indicadores en C por Kanetkar). #include […]

¿Están prohibidos los miembros de Pointer-to- “inner struct”?

Tengo una estructura anidada y me gustaría tener un puntero-a-miembro para uno de los miembros nesteds: es legal? struct InnerStruct { bool c; }; struct MyStruct { bool t; bool b; InnerStruct inner; }; esta: MyStruct mystruct; //… bool MyStruct::* toto = &MyStruct::b; está bien pero: bool MyStruct::* toto = &MyStruct::inner.c; no es. ¿alguna idea? […]

¿Es un comportamiento no especificado para comparar punteros a diferentes matrices para la igualdad?

Los operadores de igualdad tienen las restricciones semánticas de los operadores relacionales en los punteros: Los operadores == (igual a) y! = (No igual a) tienen las mismas restricciones semánticas, conversiones y tipo de resultado que los operadores relacionales, excepto por su menor precedencia y el resultado del valor de verdad. [C ++ 03 §5.10p2] […]