Hva er forskjellen mellom verdi- og referanseparametere?
Hva er forskjellen mellom verdi- og referanseparametere?

Video: Hva er forskjellen mellom verdi- og referanseparametere?

Video: Hva er forskjellen mellom verdi- og referanseparametere?
Video: Call By Value & Call By Reference in C 2024, Kan
Anonim

Endringer til en verdi parameter er ikke synlige for den som ringer (også kalt "pass by verdi "). Endringer til en referanseparameter er synlige for den som ringer ("gå forbi henvisning "). En bruk av pekere er å implementere " henvisning " parametere uten å bruke en spesiell henvisning konsept, som noen språk, for eksempel C, ikke har.

Foruten dette, hva er forskjellen mellom verdi- og referanseparametere?

NØKKEL FORSKJELL In Call by verdi , en kopi av variabel er bestått mens i Call by henvisning , a variabel selv er bestått. In Call by verdi , faktisk og formell argumenter vil bli opprettet i annerledes minneplasseringer mens i Call by henvisning , faktisk og formell argumenter vil bli opprettet i samme minneplassering.

hva er call by value og reference? Anrop av Henvisning : Både de faktiske og formelle parameterne refererer til samme plassering, så eventuelle endringer som gjøres inne i funksjonen, gjenspeiles faktisk i de faktiske parameterne til den som ringer. Ring etter verdi . Anrop Av Henvisning . Samtidig som ringer en funksjon, passerer vi verdier av variabler til det. Slike funksjoner er kjent som Ring etter verdier ”.

Tilsvarende, hva er en referanseparameter?

EN referanseparameter er en henvisning til en minneplassering for en variabel. Når du passerer parametere av henvisning , i motsetning til verdi parametere , opprettes det ikke et nytt lagersted for disse parametere . Den viser at verdiene har endret seg inne i byttefunksjonen, og denne endringen gjenspeiles i hovedfunksjonen.

Hvorfor skal parametere sendes ved referanse?

Pass-by-referanse betyr å sende de henvisning av en argument i kallefunksjonen til den tilsvarende formelle parameter av den kalte funksjonen. Sende -by-referanser er mer effektiv enn sende -etter verdi, fordi det gjør ikke kopiere argumenter . Det formelle parameter er et alias for argument.

Anbefalt: