Faire une appeler-par-référence de fonction, au lieu de passer la variable elle-même, passent l'adresse de la variable. L'adresse de la variable peut être prise en employant et l'opérateur. Déréférencier est réalisé dans C en employant la notation d'indicateur (*). Les fonctions peuvent être récursives qui est une fonction peut s'appeler.

Files Recovery Software
Accueil Coordonnées Soutien à la clientèle Télécharger la démo Produits  

 
 

 

Appeler-par-référence

Faire une appeler-par-référence de fonction, au lieu de passer la variable elle-même, passent l'adresse de la variable. L'adresse de la variable peut être prise en employant et l'opérateur. Les appels suivants une fonction d'échange passant l'adresse des variables au lieu des valeurs réelles.

swap(&x, &y);

Déréférencier

Le problème que nous avons est maintenant que l'échange de fonction a été passé à l'adresse plutôt qu'à la variable, ainsi nous devons déréférencier les variables de sorte que nous regardions les valeurs réelles plutôt que les adresses des variables afin de les permuter.

Déréférencier est réalisé dans C en employant la notation d'indicateur (*). En termes simples, ceci signifie placer a * avant chacun variable avant de l'employer pour qu'il se rapporte à la valeur de la variable plutôt qu'à son adresse. Le programme suivant illustre la passer-par-référence pour permuter deux valeurs.

#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;
}

Voyons le rendement du programme :

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

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

Les fonctions peuvent être récursives qui est une fonction peut s'appeler. Chaque appel à lui-même exige que l'état actuel de la fonction est poussé sur la pile. Il est important de se rappeler ce fait car il est facile de créer un débordement de pile, c.-à-d. la pile a manqué de l'espace à l'endroit plus de données.

L'exemple suivant calcule le factoriel d'un nombre en utilisant la récursion. Un factoriel est un nombre multiplié par chaque autre nombre entier au-dessous de lui-même, vers le bas à 1. Par exemple, le factoriel du numéro 6 est :

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

Par conséquent le factoriel de 6 est 720. Il peut voir de l'exemple ci-dessus ces 6 factoriels = 6 * 5 factoriels. De même, 5 factoriels = 5 * 4 factoriels, et ainsi de suite.

Ce qui suit est la règle générale pour calculer des nombres factoriels.

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

La règle ci-dessus se termine quand n = 1, en tant que factoriel de 1 est 1. Essayons de la comprendre mieux avec l'aide de l'exemple :

#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);
}

Voyons le rendement de l'exécution de ce programme :

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

 
 
Récupération de données livre
 
Chapitre 1 Une vue d'ensemble de rétablissement de données
Chapitre 2 Introduction des disques durs
Chapitre 3 Approche logique aux disques et à l'OS
Chapitre 4 Systèmes de numération
Chapitre 5 Introduction de la programmation de C
Chapitre 6 Introduction aux fondations d'ordinateur
Chapitre 7 Commandes nécessaires de DOS
Chapitre 8 Fonctions et interruptions de Disque-BIOS manipulant avec C
Chapitre 9 Manipulation de grands disques durs
Chapitre 10 Rétablissement de données de disque souple corrompu
Chapitre 11 Fabrication des protections
Chapitre 12 MBR de lecture et de modification avec la programmation
Chapitre 13 DBR de lecture et de modification avec la programmation
Chapitre 14 Programmation pour le rétablissement " de dossier cru "
Chapitre 15 Programmation pour des essuie-glace de données
Chapitre 16 Développer plus d'utilités pour des disques
Annexe Glossaire des limites de rétablissement de données
 
 
Pro Data Doctor

Accueil

Produits

Coordonnées

Soutien à la clientèle

Télécharger la démo

Conditions générales de vente

 
Pro Data Doctor