Chciałbym zrobić coś takiego - wypełnić elementy tablic 10-elementowych adresami tych elementów. Tzn. żeby każda komórka tablicy miała wpisany swój adres w pamięci. Chodzi o czyste C oczywiście.
void wypelnij(int *tablica1,float *tablica2,double *tablica3)
{
int i;
for(i=0;i<10;i++)
{
tablica1[i]=&tablica1[i];
}
for(i=0;i<10;i++)
{
tablica2[i]=&tablica2[i];
}
for(i=0;i<10;i++)
{
tablica3[i]=&tablica3[i];
}
printf("ENTER - dalej ...");
getche();
menu();
}
Próbowałem to zrobić takim sposobem jw. ale mam error dla wszystkich pętli i się nie kompiluje. Kiedy zostawie tylko 1 pętle, żeby mi wypełniało tablice1 to działa dobrze(kompiluje się), ale z warrningiem - [warrning] assignment makes integer from pointer without a cast [enabled by default]. Próbowałem takiego czegoś : tablica1[i]=(int)&tablica1[i]; To wtedy ukazuje się warrining: [Warning] cast from pointer to integer of different size [-Wpointer-to-int-cast]
Próbowałem też takim sposobem :
int i;
int *p_tablica1;
p_tablica1=&tablica1[0];
for(i=0;i<10;i++,p_tablica1++)
{
tablica1[i]=p_tablica1;
}
Ale to samo co wyżej, identyczna sytuacja.
Nie mam pojęcia jak to zrobić, czy może zastosować tutaj tablice wskaźników i z niej przepisywać do tablicy1. Ale nie ogarniam tego. Dziękuję za pomoc.