Przekazywanie tablicy z struktury do funkcji.

0

Witam,

Nie wiem jak przekazać tablicę z struktury, która znajduje się w mainie do wybranej funkcji, jak użyć wskaźników? prosił bym jak najbardziej szczegółowy opis :)

1

Ale o co chodzi, przekazujesz po prostu ten wskaźnik co trzeba, do funkcji, która taki wskaźnik przyjmuje.

#include <stdio.h>
 
typedef struct {
  int tab[10];
} A;
 
void fun(int *tab, size_t len) {
  for (int i = 0; i < len; ++i) {
    printf("%d ", tab[i]);
  }
}
 
int main(void) {
  A a = {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}};
 
  fun(a.tab, 10);
         
  return 0;
}

http://ideone.com/oMamA

0

ok, wywaliłem swoją funkcje z maina, wygląda to tak:

typedef struct 
{
		int talia2[52];
		char talia[52];
}karta;

i teraz w mainie, staram się zdefiniować elementy tablicy w następsposób :

for (int j=0;j<52;j++)
	{
		karta.talia[j]=3;
		karta.talia[j+1]=4;
		karta.talia[j+2]=5;
		karta.talia[j+3]=6;
                j=j+3;
	}

mój kompilator (visual c++) podkreśla mi nazwę tablicy, wypisując błąd :"a nonstatic member reference must be relative to specific object" do momentu wyciągnięcia struktury przed maina było wszystko ok, jak powinienem zniwelować ten problem ?

0

Trzeba było od razu pisać, że to C++. (typedef jest potrzebny tylko w C) Powiedz co dokładnie chcesz zrobić. Masz strukturę (klasę) karta i żeby zapisać do znajdującej się wewnątrz tablicy jakieś dane musisz robić to na konkretnym egzemplarzu tej struktury. W pierwszy poście pisałeś o przekazaniu tablicy do funkcji. Opisz jeszcze raz, dokładnie co chcesz zrobić.

0

nadal chce przekazać tablice z struktury do funkcji, jednak kiedy napisałem ten post, moja struktura była jeszcze w mainie i wprowadzanie elementów za pomocą fora, który jest wyżej, działało. Lecz kiedy wywaliłem moją strukture po za maina to pojawił się błąd który opisałem w ostatnim poście. nie wiem jak się go pozbyć aby w końcu napisać to przekazywanie tablicy z struktury do funkcji.

0

Dane możesz wprowadzić tylko do konkretnego egzemplarza tej struktury.

0

no ok to, ogólnie znana teoria ale jak zastosować ją w praktyce ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1