punteros parametros operaciones funciones estructura ejemplos datos con como arreglos apuntadores c function struct restrict-qualifier

parametros - punteros en c



Restringir palabras clave y punteros dentro de estructuras (2)

También puede utilizar restrict dentro de una estructura.

struct s { /* ... */ int * restrict ip; }; int f2(struct s a, struct s b) { /* ... */ }

Por lo tanto, un compilador puede asumir que a.ip y b.ip se usan para referirse a un objeto desunido durante la duración de cada invocación de la función f2 .

Mediante el uso de la palabra clave restrict esta manera:

int f(int* restrict a, int* restrict b);

Puedo dar instrucciones al compilador de que las matrices a y b no se superponen. Digamos que tengo una estructura:

struct s{ (...) int* ip; };

y escribe una función que tome dos objetos struct s :

int f2(struct s a, struct s b);

¿Cómo puedo instruir al compilador de manera similar en este caso para que a.ip y b.ip no se superpongan?


Verifique este ejemplo de puntero , podría obtener ayuda.

// xa and xb pointers cannot overlap ie. point to same memmpry location. void function (restrict int *xa, restrict int *xb) { int temp = *xa; *xa = *xb; xb = temp; }

Si dos punteros se declaran como restringidos, estos dos punteros no se superponen.

Editado

Revisa este enlace para más ejemplos.