Sto leggendo un programma in c++ ma non riesco a capire l'uso e il significato dell'asterisco. Sul manuale si dicono molte cose ma io non riesco a comprenderle. Qui sotto vi posto il codice incriminato:
Non ho bisogno che entriate nel merito del codice ma solo che mi spiegate perché dopo poligono sezione c'é l'asterisco e perché dopo l'asterisco una variabile in più (polic) non dichiarata in precedenza:codice:struct geometria_sezione { float area; float scx; float scy; float ix; float iy; float ixy; float alfa; float ia; float ib; }; struct poligono_sezione { float x[NMAXVRT]; float y[NMAXVRT]; int numv; float omog; int traz; char classe[8]; float fd; int automfd; int dominio; int fase; float epsc0; float epscu; int automeps; int selez[NMAXVRT]; int bloc[NMAXVRT]; }; struct geometria_sezione calcola_caratt_geometriche (struct poligono_sezione *); struct geometria_sezione calcola_caratt_geometriche (struct poligono_sezione *polic) { int register k,kp1,np; float a,d,hy,hx; struct geometria_sezione geo; geo.area=0.0; geo.scx=0.0; geo.scy=0.0; geo.ix=0.0; geo.iy=0.0; geo.ixy=0.0; for (np=0;np<=NMAXPOLI-1;np++) { for (k=0;k<=polic[np].numv-1;k++) { if (k==polic[np].numv-1) kp1=0; else kp1=k+1; a=polic[np].x[kp1]-polic[np].x[k]; d=polic[np].y[kp1]-polic[np].y[k]; hy=polic[np].y[k]-yg; hx=polic[np].x[k]-xg; geo.area+=polic[np].omog*a*(hy+d/2); geo.scx+=polic[np].omog*a/2*(hy*hy+d*d/3+d*hy); geo.scy-=polic[np].omog*d/2*(hx*hx+a*a/3+a*hx); geo.ix+=polic[np].omog*a/3*(pow(hy,3)+hy*d*d+3*hy*hy*d/2+pow(d,3)/4); geo.iy-=polic[np].omog*d/3*(pow(hx,3)+hx*a*a+3*hx*hx*a/2+pow(a,3)/4); geo.ixy+=polic[np].omog*a*(hx/2*(hy*hy+d*d/3+d*hy)+a/2*(hy*hy/2+d*d/4+2*d*hy/3)); } } for (k=0;k<=arm.numarm-1;k++) { if (arm.af[k]!=0.0 && arm.cong[k]==0) { geo.area+=arm.omogarm*arm.af[k]; geo.scx+=arm.omogarm*arm.af[k]*(arm.y[k]-yg); geo.scy+=arm.omogarm*arm.af[k]*(arm.x[k]-xg); geo.ix+=arm.omogarm*arm.af[k]*pow(arm.y[k]-yg,2); geo.iy+=arm.omogarm*arm.af[k]*pow(arm.x[k]-xg,2); geo.ixy+=arm.omogarm*arm.af[k]*(arm.x[k]-xg)*(arm.y[k]-yg); } } if (geo.ix-geo.iy!=0) geo.alfa=atan(-2*geo.ixy/(geo.ix-geo.iy))/2; else { if (geo.ixy>0.0) geo.alfa=-0.7854; else geo.alfa=0.7854; } if (geo.ix<geo.iy) geo.alfa+=1.570796327; geo.ia=(geo.ix+geo.iy)/2+sqrt(pow(geo.ix-geo.iy,2)+4*pow(geo.ixy,2))/2; geo.ib=(geo.ix+geo.iy)/2-sqrt(pow(geo.ix-geo.iy,2)+4*pow(geo.ixy,2))/2; return (geo); }
Mi potreste fare un esempio simile a questo ma con un algoritmo più semplice che mi permette di capire una volta per tutte l'uso di questo asterisco...codice:struct geometria_sezione calcola_caratt_geometriche (struct poligono_sezione *);Vorrei anche capire quando posso mettere questo simbono e quando invece devo metterlo... L'unica cortesia che vi chiedo é di usare una terminologia semplice perché altrimenti sono di nuovo punto a capo...
![]()

Vorrei anche capire quando posso mettere questo simbono e quando invece devo metterlo... L'unica cortesia che vi chiedo é di usare una terminologia semplice perché altrimenti sono di nuovo punto a capo...
