• 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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
7,651 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,590 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ź 358 wizyt
0 głosów
2 odpowiedzi 433 wizyt

93,096 zapytań

142,059 odpowiedzi

321,513 komentarzy

62,441 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...