Να κάνει μια κλήση-από-αναφορά λειτουργίας, αντί της διάβασης τησαπό μεταβλητής η ίδια, περνά τη διεύθυνση της μεταβλητής. Η διεύθυνση της μεταβλητής μπορεί να ληφθεί από τη χρησιμοποίηση & το χειριστή. Το Dereferencing επιτυγχάνεται στο γ με τη χρησιμοποίηση της σημείωσης δεικτών (*). Οι λειτουργίες μπορούν να είναι επαναλαμβανόμενες που είναι μια λειτουργία μπορεί να κληθεί.

Files Recovery Software
Σπίτι Στοιχεία Επικοινωνίας Εξυπηρέτηση Πελατών Κατεβάστε το Demo Προϊόντα  

 
 

Κλήση-από-αναφορά

Να κάνει μια κλήση-από-αναφορά λειτουργίας, αντί της διάβασης η ίδια της μεταβλητής, περνά τη διεύθυνση της μεταβλητής. Η διεύθυνση της μεταβλητής μπορεί να ληφθεί από τη χρησιμοποίηση & το χειριστή. Οι ακόλουθες κλήσεις μια λειτουργία ανταλλαγής που περνά τη διεύθυνση των μεταβλητών αντί των πραγματικών τιμών.

swap(&x, &y);

Dereferencing

Το πρόβλημα έχουμε τώρα είμαστε ότι την ανταλλαγή λειτουργίας έχουν περάσει τη διεύθυνση παρά τη μεταβλητή, έτσι χρειαζόμαστε στο dereference τις μεταβλητές έτσι ώστε εξετάζουμε τις πραγματικές τιμές παρά τις διευθύνσεις των μεταβλητών προκειμένου να αυτές ανταλλαχθούν.

Το Dereferencing επιτυγχάνεται στο γ με τη χρησιμοποίηση της σημείωσης δεικτών (*). Στους απλούς όρους, αυτό σημαίνει την τοποθέτηση * πριν από κάθε μεταβλητή πρίν χρησιμοποιεί το για αναφέρει στην αξία της μεταβλητής παρά τη διεύθυνσή του. Το ακόλουθο πρόγραμμα επεξηγεί την περνώ-από-αναφορά στην ανταλλαγή δύο τιμές.

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

int main()
{
int x=6, y=10;
printf("Before the function swap, x = %d and y =
%d\n\n", x, y);

swap(&x, &y);

printf("After the function swap, x = %d and y =
%d\n\n", x, y);
return 0;
}

void swap(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}

Δείτε την παραγωγή του προγράμματος:

Before the function swap, x = 6 and y = 10

After the function swap, x = 10 and y = 6

Οι λειτουργίες μπορούν να είναι επαναλαμβανόμενες που είναι μια λειτουργία μπορεί να κληθεί. Κάθε κλήση σε το απαιτεί ότι η τρέχουσα κατάσταση της λειτουργίας ωθείται επάνω στο σωρό. Είναι σημαντικό να αναφερθεί αυτό το γεγονός όπως είναι εύκολο να δημιουργηθεί μια υπερχείλιση σωρών, δηλ. ο σωρός έχει τρέξει από το διάστημα για να τοποθετήσει άλλα στοιχεία.

Το ακόλουθο παράδειγμα υπολογίζει τον παραγοντικό ενός αριθμού χρησιμοποιώντας recursion. Ένας παραγοντικός είναι ένας αριθμός που πολλαπλασιάζεται με κάθε άλλο ακέραιο αριθμό κάτω από το, κάτω από σε 1. Παραδείγματος χάριν, ο παραγοντικός του αριθμού 6 είναι:

Factorial 6 = 6 * 5 * 4 * 3 * 2 * 1

Επομένως ο παραγοντικός 6 είναι 720. Μπορεί να δει από το ανωτέρω παράδειγμα που παραγοντικά 6 = 6 * παραγοντικά 5. Ομοίως, παραγοντικά 5 = 5 * παραγοντικά 4, και τα λοιπά.

Tπου είναι ο γενικός κανόνας για τους παραγοντικούς αριθμούς.

factorial(n) = n * factorial(n-1)

Ο ανωτέρω κανόνας ολοκληρώνει όταν ν = προσπαθήστε 1, δεδομένου ότι ο παραγοντικός 1 είναι 1. να το καταλάβετε καλύτερα με τη βοήθεια του παραδείγματος:

#include <stdio.h>
long int factorial(int num);

int main()
{
int num;
long int f;

printf("Enter a number: ");
scanf("%d", &num);

f = factorial(num);

printf("factorial of %d is %ld\n", num, f);
return 0;
}

long int factorial(int num)
{
if (num == 1)
return 1;

else
return num * factorial(num-1);
}

Δείτε την παραγωγή της εκτέλεσης αυτού του προγράμματος:

Enter a number: 7
factorial of 7 is 5040

 


Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18

 
 

page 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34

 
 

page 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50

 
 

page 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60

Next page
 
 
Data Recovery Book
 
Κεφάλαιο 1 Μια επισκόπηση της αποκατάστασης στοιχείων
Κεφάλαιο 2 Εισαγωγή των σκληρών δίσκων
Κεφάλαιο 3 Λογική προσέγγιση στους δίσκους και το OS
Κεφάλαιο 4 Συστήματα αριθμού
Κεφάλαιο 5 Εισαγωγή του προγραμματισμού γ
Κεφάλαιο 6 Εισαγωγή στα βασικά υπολογιστών
Κεφάλαιο 7 Απαραίτητες εντολές DOS
Κεφάλαιο 8 Δίσκος-ζωντανό ον λειτουργεί και διακόπτει το χειρισμό με το γ
Κεφάλαιο 9 Διαχειριζόμενοι μεγάλοι σκληροί δίσκοι
Κεφάλαιο 10 Αποκατάσταση στοιχείων από την αλλοιωμένη δισκέτα
Κεφάλαιο 11 Παραγωγή των στηριγμάτων
Κεφάλαιο 12 Ανάγνωση και τροποποίηση MBR με τον προγραμματισμό
Κεφάλαιο 13 Ανάγνωση και τροποποίηση DBR με τον προγραμματισμό
Κεφάλαιο 14 Προγραμματισμός για την αποκατάσταση "ακατέργαστων αρχείων"
Κεφάλαιο 15 Προγραμματισμός για τις ψήκτρες στοιχείων
Κεφάλαιο 16 Ανάπτυξη περισσότερων χρησιμοτήτων για τους δίσκους
Προσάρτημα Γλωσσάριο όρων αποκατάστασης στοιχείων
 
 
Pro Data Doctor

Σπίτι

Προϊόντα

Στοιχεία Επικοινωνίας

Εξυπηρέτηση Πελατών

Κατεβάστε το Demo

Όροι και Προϋποθέσεις

 
Pro Data Doctor