Δημοσιεύτηκε: 30 Ιαν 2012, 23:19
από Star_Light
migf1 έγραψε:Βασικά αυτό αν δουλεύει, μάλλον κατά τύχη δουλεύει :lol:

Bαριέμαι να το κοιτάξω λεπτομερώς τώρα γιατί γράφω την τεκμηρίωση της βιβλιοθήκης, αλλά π.χ. τα p και p3 μέσα στις συναρτήσεις single_p() και double_p() τα χρησιμοποιείς αδήλωτα, κι απλώς τυχαίνει η C όταν δεν δηλώνεις τύπο στις μεταβλητές να τις θεωρεί int :P

Btw, θα σου πρότεινα να προτιμάς ασκήσεις που έχουν κάποια επαφή με πραγματικές εφαρμογές. Π.χ. φτιάξε μια συνάρτηση που θα κάνει swap 2 πίνακες ακεραίων ;)


Το εκανα αυτο που λες αλλα με δεικτες.

Κώδικας: Επιλογή όλων


#include <stdio.h>
#include <stdlib.h>
void swap(int *x , int *y);
int main()
{

int x,y;

int *p_x , *p_y ; // pointer p_x and p_y declaration

p_x=&x;
p_y=&y;

printf("Dwste to x: \n");
scanf("%d",&x);
printf("Dwste to y: \n");
scanf("%d",&y);

swap(p_x, p_y); // function call by pass!
printf("The value of x is : %d \n",x);
printf("The value of y is : %d \n",y);

return 0;
}
//-----------------------------------------------

void swap(int *x, int *y)
{
int *tmp;

tmp=calloc(1,sizeof(int)); // one element

*tmp=*x;
*x=*y;
*y=*tmp;


return;
}

//--------------------------------------------------------------------------------------------------------------------------------------------------