hur skickar man hela vektorn av struct från main metod till annan funktion?
Jag försökte fixa problemet typ redan 5~6 timmar men hittar inget lösning.
void slumpa(lottoRad *lottoRad, int antalLottoRad){
int i =0;
for(i=0;i<antalLottoRad;i++){
lottoRad++;
}
//visar 0
printf("size %d :",sizeof(lottoRad)/sizeof(lottoRad[0]));
}
void main(){
int val;
int antalLottoRad;
FILE *fp;
printf("Ange 1 för skrivning och 2 för läsning");
scanf("%i",&val);
switch(val){
case 1:
printf("Ange önskat antal lottorader: ");
scanf("%i",&antalLottoRad);
lottoRad lottoRad[antalLottoRad];
//visar rätt
printf("storlek är %d",sizeof(lottoRad)/sizeof(lottoRad[0]));
srand(time(NULL));
for(int i = 0; i < antalLottoRad; i++){
slumpa(lottoRad,antalLottoRad);
}
//skriv(fp,lottoRad);
break;
//default: printf("välj 1 eller 2!!");
}
}
När användaren mattar in 5 i consolen, då printf som finns i main metoden visar 5.
Matar in 10, det visar 10.
Jag har skickat den vektor som parameter till slumpa metoden.
Men i slumpa metoden, printf visar att storleken av vektorn lottoRad är 0.
Det kan jag inte förstå varför är det så.
Jag också försökte att skicka address av vektorn så här
slumpa(&lottoRad,antalLottoRad);
men det också funkar inte. Vilken fel har jag gjort??
Varför slumpa metoden visar storleken av vektorn av struct är 0???