|
int toplam = 10;
printf ("Merhaba Dünya");
toplam = toplam + l;
|
Bir işlevi çevirmek için sadece tek bir bileşik deyim haline dönüştürmek ve parantez önünde vermek istediğiniz adı yazmak için süslü parantez bir çift sarma kodu:
Demo ()
{
int toplam = 10;
printf ("Merhaba Dünya");
toplam = toplam + l;
}
|
işlevin adından sonra kavisli parantez gereklidir. Aşağıdaki gibi bir işleve bir veya daha fazla paramenters iletebilirsiniz:
Demo (int par1, int PAR2)
{
int toplam = 10;
printf ("Merhaba Dünya");
toplam = toplam + l;
}
|
Varsayılan fonksiyonu bir şey döndürmez. Ama şöyle bir değer döndürmek için bir işlev yapabilirsiniz:
int Demo (int par1, int PAR2) {int toplam = 10; printf ("Merhaba Dünya"); toplam = toplam + l; dönüş toplam;}
|
Bir dönüş anahtar kelime döndürülen değeri bir değeri ve veri türü işlevin adını önce belirtilen döndürmek için kullanılır. Bu durumda işlev int türüdür toplam verir. Bir işlev bir değer çıkmıyorsa o zaman geçersiz anahtar kelime dönüş değeri olarak kullanılabilir.
Eğer fonksiyon tanımladıktan sonra bir program dahilinde kullanabilirsiniz:
Ana ()
{
Demo ();
}
|
Fonksiyonlar ve Değişkenler:
Her fonksiyon C dili standart fonksiyon main () ile aynı şekilde davranır. Yani bir işlev kendi yerel değişkenleri tanımlanmış olacaktır. Yukarıdaki örnekte toplam değişken işlev Demo için yerel.
Genel bir değişken bu ana (içinde erişilir benzer şekilde) fonksiyonu herhangi bir fonksiyon erişilebilir.
Deklarasyonu ve Tanımı
Bir işlev programda herhangi bir yerde tanımlanır zaman o işlev tanımı denir. Bir işlevi gerçek mantık tanımı zamanda fonksiyonu ile uygulanmaktadır.
Bir işlev bildirimi herhangi bir vücut yoktur ve onlar sadece kendi arayüzleri vardır.
Bir işlev bildirimi genellikle C kaynak dosyanın en üstünde, ya da ayrı bir başlık dosyasında bildirilmiştir.
Bir işlev bildirimi bazen fonksiyon prototip veya fonksiyon imza denir. Bir tamsayı döndürür, ve iki parametre alır yukarıdaki Demo () fonksiyonu için bir işlev bildirimi aşağıdaki gibi olacaktır:
int Demo (int par1, int PAR2);
|
Bir Fonksiyon Parametreleri geçen
Bir fonksiyon parametreleri geçirmek için iki yol vardır:
- Değer geçmek: Eğer geçti paramters değerini değiştirmek istemiyorsanız mekanizması kullanılır. Parametre değeri geçti zaman sonra C fonksiyonları bu kopyalanan değişkenlere değişkenleri geçti ve gerekli yapmak işleme kopyalarını oluşturun.
- Eğer geçirilen parametreleri değişiklikleri yapmak ve geri çağıran fonksiyona bu değişiklikleri yansıtmak için bir işlevi istediğinizdeReferans mekanizması geçmek kullanılır. Bu durumda sadece bu işlevi adresleri üzerinden doğrudan çalışabilir böylece değişken bir işleve geçirilen adresleri.
İlk örnek değer Geçiş içindir: Burada farkı anlamak için iki program şunlardır:
# Include <stdio.h>
/ * Işlev bildirimi buraya. * /
void swap (int p1, int p2);
int main ()
{
int a = 10;
int b = 20;
printf ("önce: b =% d \ n bir =% d ve değeri Değer", a, b);
(a, b) takas;
printf ("sonra: a b =% d ve değer =% d \ n Değer", a, b);
}
void swap (int p1, int p2)
{
int t;
t = P2;
p2 = p1;
P1 = T;
printf ("b bir (p1 Değeri) =% d ve değer (p2) =% d \ n", P1, P2);
}
|
Burada, yukarıda bulunan örnek tarafından üretilen bir sonucudur. Burada a ve b değerlerini takas işlevi çağırmadan önce ve takas fonksiyonu çağırdıktan sonra değişmeden kalır.
Önce: a = 10 Değer ve b değeri = 20
A (p1) = 20 değeri ve b değeri (p2) = 10
Sonra: a = 10 Değer ve b değeri = 20
|
Aşağıdaki referans geçiş kavramı göstermek örnektir
# Include <stdio.h>
/ * Işlev bildirimi buraya. * /
void swap (int * p1, int * p2);
int main ()
{
int a = 10;
int b = 20;
printf ("önce: b =% d \ n bir =% d ve değeri Değer", a, b);
(& a, & b) takas;
printf ("sonra: a b =% d ve değer =% d \ n Değer", a, b);
}
void swap (int * p1, int * p2)
{
int t;
t = * P2;
* P2 = * p1;
* P1 = t;
printf ("b bir (p1 Değeri) =% d ve değer (p2) =% d \ n", * p1, * p2);
}
|
Burada, yukarıda bulunan örnek tarafından üretilen bir sonucudur. Burada a ve b değerlerini takas fonksiyonu çağırdıktan sonra değişikliklerdir.
Önce: Değeri bir = 10 ve değeri b = a (p1) = 10 sonra b = 20 ve değer (P2) 20 Değeri: a = 20 Değer ve b = 10 değeri
|