Fare un denomin-da-riferimento di funzione, invece di passare la variabile in se, passa l'indirizzo della variabile. L'indirizzo della variabile può essere preso usando & l'operatore. Dereferencing è realizzato in C usando la notazione dell'indicatore (*). Le funzioni possono essere ricorsive che è una funzione può denominarsi.

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


Denomin-da-riferimento

Fare un denomin-da-riferimento di funzione, invece di passare la variabile in se, passa l'indirizzo della variabile. L'indirizzo della variabile può essere preso usando & l'operatore. Le seguenti chiamate una funzione di scambio che passa l'indirizzo delle variabili anziché i valori reali.

swap(&x, &y);

Dereferencing

Il problema che abbiamo ora è che lo scambio di funzione è stato passato all'indirizzo piuttosto che alla variabile, in modo da dobbiamo dereference le variabili in modo che stiamo guardando i valori reali piuttosto che gli indirizzi delle variabili per scambiarli.

Dereferencing è realizzato in C usando la notazione dell'indicatore (*). Nei termini semplici, questo significa la disposizione della a * prima di ciascuno variabile prima di usando affinché si riferisce al valore della variabile piuttosto che al relativo indirizzo. Il seguente programma illustra il pass-da-riferimento per scambiare due valori.

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

Vediamo l'uscita del programma:

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

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

Le funzioni possono essere ricorsive che è una funzione può denominarsi. Ogni chiamata a se richiede che la corrente dichiara della funzione è spinta sulla pila. È importante ricordarsi di questo fatto poichè è facile da generare un trabocco di pila, cioè la pila ha fatto funzionare da spazio al posto altri dati.

Il seguente esempio calcola il fattoriale di un numero usando la ricorrenza. Un fattoriale è un numero moltiplicato da ogni altro numero intero sotto se, giù a 1. Per esempio, il fattoriale del numero 6 è:

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

Di conseguenza il fattoriale di 6 è 720. Può essere visto dal suddetto esempio quei 6 fattoriali = 6 * 5 fattoriali. Similmente, 5 fattoriali = 5 * 4 fattoriali e così via.

Ciò che segue è la regola generale per la calcolazione dei numeri fattoriali.

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

La suddetta regola termina quando la n = 1, come il fattoriale di 1 è 1. Proviamo a capirla più meglio con l'aiuto dell'esempio:

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

Vediamo l'uscita dell'esecuzione di questo programma:

Enter a number: 7
factorial of 7 is 5040

 

Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

Previous page

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

 
 

page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37

 
 

page 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54

 
 

page 55 | 56 | 57 | 58 | 59 | 60

Next page

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek