[so] [General] Coding Style și Funcții Statice
Laura Vasilescu
laura.vasilescu at cs.pub.ro
Thu Mar 31 23:10:59 EEST 2016
2016-03-31 22:17 GMT+03:00 Razvan Deaconescu via so <so at cursuri.cs.pub.ro>:
> Dorinel Filip via so <so at cursuri.cs.pub.ro> writes:
>> Salutare,
>>
>> De multe ori, în C, pentru a evita declarațiile implicite, trebuie să
>> punem, semnăturile funcțiilor statice la începutul sursei modulului
>> (exact cum am face într-un fișier header, pentru funcțiile
>> non-statice).
>
> Nu înțeleg "evitarea declarațiilor implicite". Despre ce este vorba?
Declarațiile implicite presupun că orice funcție întoarce int. Așa că
următorul snippet de cod dă eroare la compilare (nu uitați de "-lm"):
#include <stdio.h>
#include <math.h>
int main(void)
{
int r = my_sqrt();
printf("%lf\n", r);
return 0;
}
double my_sqrt()
{
return sqrt(2);
}
Dacă modifici my_sqrt să întoarcă int, nu mai primești eroare.
De asemenea, dacă lași funcția așa (să întoarcă double) și o declari
înainte de main, nu mai primești eroare.
(nu luați cu copy/paste snippet-ul că l-am scris de pe telefon și
probabil are și alte erori :) )
Laura
More information about the so
mailing list