ALTAVEU 1: Resulta que puguem intercanviar amb èxit els valors de dues les variables d'passar en un funcionar, no per valor o per còpia, però per referència o per les seves direccions. En altres paraules, hem d'aprofitar alguna cosa conegut com un punter. Un punter, en realitat, és només el direcció d'una variable. I així, si proporcionem una funció anomenada, per exemple, canviar l'adreça de una variable i la direcció d'un altre variable d'intercanvi ha d'estar facultada per anar a cadascuna d'aquestes adreces i, de fet canviar la valors que hi són. Vegem això en context. Anem a tornar a implementar d'intercanvi com segueix. En primer lloc, anem a canviar un no ser un int però per ser un punter a un int o el direcció d'un int. Llavors farem el mateix per b, el canvi de des d'un int que és un punter a una int o la direcció d'un int. Llavors dins de swap, anem encara declarar tmp perquè tinguem una lloc temporal per un valor de. Però d'un valor no és un sí, perquè, de nou, a és ara la direcció d'alguns int. Així que si volem anar a aquesta direcció i aconseguir int en aquesta direcció, tenim eliminar la referència d'aquest punter, també per mitjà de l'operador de l'estrella, estrella d'una escriptura. Després, jo no vull canviar el valor de a. Vull canviar el valor en 1, tenint en compte, de nou, que una és una direcció. Així que per fer-ho, jo necessito un altre cop dir una estrella aconsegueix. I ara vull posar en el valor això és en b, no el valor de b, que També és una direcció. Així que de nou us dic, estel b. Llavors, en la meva última línia, he de sobreescriure el que està en la direcció b amb el que estava en un lloc original. Per fer això, ho faig estrelles b aconsegueix tmp. Ara, al final del dia, aquesta funció segueix sent només tres línies de codi. Però pel fet que és la manipulació dels valors per mitjà de la seva direcció i no la valors bruts que es van aprovar en el funció, afirmo que intercanvi és ara facultat per modificar els valors que es passen a través de les seves direccions. Però he de fer un canvi encara. Jo ja no puc passar a X i Y si mateixos. He de passar a les adreces de x i y. I per fer això, necessito una mica diferent cim notació dalt. Vull canviar x i y passant-li la direcció de x, indicat per signe x, i la direcció de I, indicat pel signe i. De la mateixa manera, a la part alta ara què he de canviar el prototip de la funció de coincidir amb el canvi que he fet, pel que a és, de nou, un punter a un int. b és, de nou, un punter a un int. I ara puc guardar el meu arxiu. I anem a tornar a compilar i executar-lo. Fer intercanvi slash dot swap. I aquesta vegada, x i y són de fet ara intercanviat de manera que els seus valors no són 1 i 2, però 2 i 1.