• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przekazywanie przez referencję i wskaźnik w języku C

Cloud VPS
0 głosów
7,876 wizyt
pytanie zadane 12 lutego 2017 w C i C++ przez Evelek Nałogowiec (28,960 p.)

W C++ możliwe jest przekazywanie zmiennych zarówno przez referencję jak i wskaźnik. Czy w języku C można przekazywać jedynie przez wskaźnik? Dla przykładu kod przekazywania dwóch zmiennych przez wskaźnik:

#include <stdio.h>
#include <stdlib.h>

void przypisz_mniejsza_liczbe_do_wiekszej(double *x, double *y)
{
	if (*x > *y)
		*y = *x;
	else
		*x = *y;
}

int main(void)
{
	double liczba1, liczba2;
	printf("Podaj dwie liczby: ");
	scanf_s("%lf %lf", &liczba1, &liczba2);

	przypisz_mniejsza_liczbe_do_wiekszej(&liczba1, &liczba2);
	printf("Liczby wynosza teraz %f oraz %f\n", liczba1, liczba2);


	system("pause");
	return 0;
}

A teraz kod z przekazaniem przez referencję:

#include <stdio.h>
#include <stdlib.h>

void przypisz_mniejsza_liczbe_do_wiekszej(double &x, double &y)
{
	if (x > y)
		y = x;
	else
		x = y;
}

int main(void)
{
	double liczba1, liczba2;
	printf("Podaj dwie liczby: ");
	scanf_s("%lf %lf", &liczba1, &liczba2);

	przypisz_mniejsza_liczbe_do_wiekszej(liczba1, liczba2);
	printf("Liczby wynosza teraz %f oraz %f\n", liczba1, liczba2);


	system("pause");
	return 0;
}

Błędy w kodzie:

wiersz 4: "nienazwane parametry prototypowane są niedozwolone, jeśli występuje zawartość",

wiersz 6: "identyfikator x jest niezdefiniowany, identyfikator y jest niezdefiniowany"

2 odpowiedzi

+3 głosów
odpowiedź 12 lutego 2017 przez criss Mędrzec (172,570 p.)
wybrane 12 lutego 2017 przez Evelek
 
Najlepsza

Czy w języku C można przekazywać jedynie przez wskaźnik?

W C nie ma czegoś takiego jak referencja, więc - tak. 

0 głosów
odpowiedź 6 czerwca 2017 przez Miszo Bywalec (2,100 p.)
W C można przekazywać przez wartość i przez wskaźnik.
komentarz 6 czerwca 2017 przez Miszo Bywalec (2,100 p.)
No chyba, że jest inaczej to proszę mnie oświecić.

Podobne pytania

0 głosów
1 odpowiedź 448 wizyt
0 głosów
2 odpowiedzi 504 wizyt

93,485 zapytań

142,417 odpowiedzi

322,764 komentarzy

62,896 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...