Giriiş:
C programlamada bir fonksiyon prototipi bildirmek için kullanılır imza içeren bir fonksiyonun ad, dönüş türü , Ve parametreler . İşlev prototipleri önemlidir çünkü derleyiciyi, işlev çağrılmadan önce işlevin arayüzü hakkında bilgilendirir ve uygun tür kontrolüne ve hata yönetimine olanak tanır. Bu yazımızda C programlamada fonksiyon prototiplerinin önemini ve nasıl kullanıldığını ele alacağız.
Neden fonksiyon prototiplerini kullanmalısınız?
Fonksiyon prototipleri C programlamada çeşitli nedenlerden dolayı önemlidir. Bunun en önemli nedenlerinden biri de izin vermeleridir. derleyici program gerçekten çalıştırılmadan önce hataları kontrol etmek için. Bir işlev yanlış sayıda veya türde bağımsız değişkenle çağrılırsa, derleyici bir hata mesajı programın çalışma zamanında çökmesini veya beklenmedik şekilde davranmasını önler.
Fonksiyon prototiplerini kullanmanın bir diğer önemli nedeni modüler programlamayı mümkün kılmaktır. C'de işlevler genellikle ana programdan ayrı dosyalarda tanımlanır ve derleme zamanında birbirine bağlanır. Hem ana programda hem de fonksiyon tanımlama dosyalarında bulunan başlık dosyalarında fonksiyon prototiplerinin bildirilmesiyle, fonksiyon, fonksiyonun uygulama detaylarına erişim gerektirmeden programın herhangi bir kısmından çağrılabilir.
Fonksiyon prototipleri ayrıca kodu okumayı ve anlamayı kolaylaştırır. Fonksiyonun imzasını kaynak koduna dahil ederek, diğer geliştiriciler fonksiyonun ne yaptığını, argümanlarını ve dönüş tipini kolayca görebilirler. Kodun daha fazla kendi kendini belgelemesini sağlar ve kodun yanlış anlaşılmasından veya yanlış yorumlanmasından kaynaklanan hataların olasılığını azaltır.
Java'nın sonu
Fonksiyon prototipinin sözdizimi:
C programlamada bir fonksiyon prototipinin sözdizimi aşağıdaki gibidir:
return_type function_name(parameter_list);
dönüş_tipi veri türüdür fonksiyon geri dönüşleri , örneğin int, kayan nokta , veya karakter . fonksiyon adı adı nedir işlev , ve parametre_listesi virgülle ayrılmış bir listedir parametreler fonksiyonun aldığı. Her bir parametre parametre_listesi bir veri türünden oluşur ve ardından Parametre adı .
Örneğin, aşağıda iki alan bir fonksiyon için bir fonksiyon prototipi verilmiştir. tamsayılar bağımsız değişken olarak kullanır ve toplamlarını döndürür:
int add(int num1, int num2);
Bu örnekte dönüş türü şöyledir: int , işlevin adı eklemek ve parametre listesi adı verilen iki tam sayıdan oluşur. sayı1 Ve sayı2 .
Varsayılan işlev prototipleri:
C programlamada bir fonksiyon çağrılmadan önce çağrılırsa tanımlanmış veya beyan derleyici varsayılan bir işlev prototipini üstlenecektir. varsayılan işlev prototipi fonksiyonun bir değer döndürdüğünü varsayar int ve herhangi bir türden herhangi bir sayıda argüman alır.
Örneğin aşağıdaki kodu göz önünde bulundurun:
#include int main() { printf('The sum is %d ', add(2, 3)); return 0; } int add(int num1, int num2) { return num1 + num2; }
Çıktı:
The sum is 5
Açıklama:
Bu kodda, işlev ekle ondan önce çağrılır beyan veya tanımlanmış . Ancak derleyici varsayılan bir işlev prototipi varsaydığından program, hata ve doğru çıktıyı üretir.
Varsayılan işlev prototipleri bazen kullanışlı olsa da, ince hatalara ve hatalara yol açabileceğinden genellikle önerilmez. Olası sorunlardan kaçınmak için işlev prototiplerini açıkça bildirmek en iyi uygulamadır.
İşlev prototipleri ve başlık dosyaları:
C programlamada, fonksiyon prototipleri genellikle başlık dosyalarına dahil edilir ve bunlar daha sonra hem ana programa hem de işlev tanımı dosyalarına dahil edilir. İşlevin uygulama ayrıntılarına erişim gerektirmeden işlevlerin herhangi bir program bölümünden çağrılmasına olanak tanır.
Başlık dosyaları genellikle bir .h uzantısı ve yalnızca dahil edin fonksiyon prototipleri , tip tanımları , ve diğeri beyanlar ana programın veya diğer dosyaların ihtiyaç duyduğu. Daha önce ekle işlevini bildiren bir başlık dosyası örneği:
#ifndef ADD_H #define ADD_H int add(int num1, int num2)
Bu örnekte, ifndef direktif olup olmadığını kontrol eder ADD_H zaten tanımlanmış. Eğer yoksa, tanımlar ADD_H ve ekleme için işlev prototipini eklemeye devam eder.
tanımlamak direktif oluşturur makro adlandırılmış ADD_H Bu, başlık dosyasının her dosyaya yalnızca bir kez dahil edilmesini sağlamak için kullanılabilir. Aynı işlevin hatalara neden olabilecek birden fazla bildiriminin önlenmesi önemlidir. fonksiyon prototipi for add basitçe fonksiyonun argüman olarak iki tamsayı aldığını ve bir tamsayı döndürdüğünü bildirir. Ana programın ve diğer dosyaların nasıl uygulandığını bilmeden add fonksiyonunu doğru bir şekilde çağırması için yeterli bilgidir.
Bir başlık dosyası bir dosyaya dahil edildiğinde C programı , ön işlemci yerine geçer #katmak Direktifin içeriği ile başlık dosyası . Ana programın ve diğer dosyaların, başlık dosyasındaki fonksiyon prototiplerine ve diğer bildirimlere erişmesine olanak tanır.
C'deki fonksiyon prototipinin bazı önemli noktaları:
İşlev prototipleri hataları yakalamaya yardımcı olur:
Zaman fonksiyon prototipi Bir C programında yer alıyorsa, derleyici programı çalıştırmadan önce fonksiyonun doğru şekilde kullanıldığını kontrol eder. Program yürütülmeden önce hataların erkenden yakalanmasına yardımcı olur.
Büyük programlarda fonksiyon prototipleri önemlidir:
klavyelerde kaç tuş var
Büyük programlarda farklı işlevler arasındaki endişelerin net bir şekilde ayrılması önemlidir. İşlev prototipleri, diğer işlevlerin uygulama ayrıntılarını bilmeden her işlevin bağımsız olarak geliştirilmesine izin vererek bu ayrımı mümkün kılar.
İşlev prototipleri başlık dosyalarında bildirilebilir:
Daha önce de belirtildiği gibi, işlev prototipleri genellikle başlık dosyalarında bildirilir. Başlık dosyaları daha sonra hem ana programa hem de işlev tanımı dosyalarına dahil edilerek işlevlere programın herhangi bir yerinden erişilebilmesi sağlanır.
İşlev prototipleri aşırı yüklenebilir:
C, diğer bazı programlama dilleri gibi aşırı işlev yüklemeyi desteklemez, ancak işlev prototipleri, farklı argüman türleri ve sayıları kullanılarak aşırı yüklenebilir. Aynı fonksiyon adının farklı amaçlar için kullanılmasına olanak sağlar.
İşlev prototipleri varsayılan bağımsız değişken değerlerini içerebilir:
C, diğer bazı programlama dilleri gibi varsayılan bağımsız değişken değerlerini desteklemez, ancak işlev prototipleri, özel bir sözdizimi kullanarak isteğe bağlı bağımsız değişkenler içerebilir. Aynı fonksiyonun belirli argümanlarla veya argümanlar olmadan kullanılmasını sağlar.
İşlev prototipleri ileriye dönük olarak bildirilebilir:
Bazı durumlarda, uygulaması mevcut olmadan önce bir işlev prototipinin bildirilmesi gerekli olabilir. denir ileri bildirim ve bir işlevin uygulanmasının, bildirimi sırasında bilinmeyebileceği karmaşık programlarda yararlı olabilir.
İşte C programlamadaki fonksiyon prototiplerine birkaç örnek daha:
Örnek 1:
#include float calculate_average(int arr[], int size); int main() { int arr[] = {1, 2, 3, 4, 5}; int size = 5; float average = calculate_average(arr, size); printf('The average is: %.2f', average); return 0; } float calculate_average(int arr[], int size) { float sum = 0.0; for (int i = 0; i<size; i++) { sum +="arr[i];" } return size; < pre> <p> <strong>Output:</strong> </p> <pre> The average is: 3.00 </pre> <p> <strong>Explanation:</strong> </p> <p>In this example, we first declare the <strong> <em>calculate_average</em> </strong> function prototype at the beginning of our program before the main function. After that, inside the main function, we declare an integer array <strong> <em>arr</em> </strong> with some values and a size of <strong> <em>5</em> </strong> . After that, we call the <strong> <em>calculate_average function</em> </strong> , passing in the <strong> <em>arr array</em> </strong> and its size, and store the result in a <strong> <em>float variable</em> </strong> named <strong> <em>average</em> </strong> . Finally, we print out the result using printf.</p> <p>The <strong> <em>calculate_average</em> </strong> function takes in the integer <strong> <em>array arr</em> </strong> and its size as arguments and returns the average value of the array as a <strong> <em>float</em> </strong> . We first declare a float variable named <strong> <em>sum</em> </strong> inside the function and initialize it to <strong> <em>0.0</em> </strong> . After that, we loop through each element in the array using a <strong> <em>for loop</em> </strong> , adding each element to the sum variable. Finally, we return the result of dividing the sum variable by the array size.</p> <p>Its average is <strong> <em>3.00</em> </strong> because the <strong> <em>arr</em> </strong> array contains the values <strong> <em>{1, 2, 3, 4, 5}</em> </strong> , and the average of these values is <strong> <em>(1+2+3+4+5)/5 = 3.00</em> </strong> . The <strong> <em>printf</em> </strong> statement in the main function uses the <strong> <em>%f format specifier</em> </strong> to print out the average value as a floating-point number. The <strong> <em>.2 modifier</em> </strong> specifies that we want to print only two decimal places.</p> <p> <strong>Example 2:</strong> </p> <pre> #include void print_message(char *msg); int main() { char *msg = 'Hello, world!'; print_message(msg); return 0; } void print_message(char *msg) { printf('%s ', msg); } </pre> <p> <strong>Output:</strong> </p> <pre> Hello, world! </pre> <p> <strong>Explanation:</strong> </p> <p>In this example, we first declare the <strong> <em>print_message</em> </strong> function prototype at the beginning of our program, before the main function. Then, inside the main function, we declare a character pointer <strong> <em>msg</em> </strong> and initialize it to point to a string literal <strong> <em>'Hello, world!'</em> </strong> . After that, we call the <strong> <em>print_message</em> </strong> function, passing in the <strong> <em>msg pointer</em> </strong> .</p> <p>The <strong> <em>print_message</em> </strong> function takes in a character pointer <strong> <em>msg</em> </strong> as an argument, and returns nothing <strong> <em>(void)</em> </strong> . Inside the function, we use the <strong> <em>printf function</em> </strong> to print out the string pointed to by <strong> <em>msg</em> </strong> , followed by a <strong> <em>newline character ( )</em> </strong> . The <strong> <em>%s</em> </strong> format specifier is used to print out a string.</p> <p>The Output is <strong> <em>Hello, world!</em> </strong> . Because the <strong> <em>print_message</em> </strong> function prints out the string pointed to by the <strong> <em>msg pointer</em> </strong> , which in this case is <strong> <em>'Hello, world!'</em> </strong> , followed by a newline character.</p> <p> <strong>Example 3:</strong> </p> <pre> #include int factorial(int n); int main() { int n = 5; int result = factorial(n); printf('%d! = %d ', n, result); return 0; } int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n-1); } } </pre> <p> <strong>Explanation:</strong> </p> <p>In this example, we first declare the <strong> <em>factorial function</em> </strong> prototype at the beginning of our program, before the main function. Then, inside the main function, we declare an integer variable <strong> <em>n</em> </strong> and initialize it to <strong> <em>5</em> </strong> . After that, we call the factorial function, passing in <strong> <em>n</em> </strong> , and store the result in an integer variable named <strong> <em>result</em> </strong> . Finally, we print out the result using <strong> <em>printf</em> </strong> .</p> <p>The factorial function takes in an integer <strong> <em>n</em> </strong> as an argument, and returns its factorial as an <strong> <em>integer</em> </strong> . Inside the function, we first check if <strong> <em>n</em> </strong> is equal to <strong> <em>0</em> </strong> . If it is, we return <strong> <em>1</em> </strong> , since <strong> <em>0! = 1</em> </strong> by definition. Otherwise, we return <strong> <em>n * factorial(n-1)</em> </strong> , which is the factorial of <strong> <em>n</em> </strong> calculated recursively as the product of <strong> <em>n</em> </strong> and the factorial of <strong> <em>n-1</em> </strong> .</p> <p>The output of the code will be:</p> <pre> 5! = 120 </pre> <p>This is because the <strong> <em>factorial function</em> </strong> calculates <strong> <em>5!</em> </strong> as <strong> <em>5 * 4 * 3 * 2 * 1 = 120</em> </strong> , and this result is printed out using <strong> <em>printf</em> </strong> .</p> <p> <strong>Example 4:</strong> </p> <pre> #include int find_max(int arr[], int size); int main() { int arr[] = {3, 5, 2, 8, 1}; int size = sizeof(arr) / sizeof(int); int max = find_max(arr, size); printf('The maximum value in the array is: %d ', max); return 0; } int find_max(int arr[], int size) { int max = arr[0]; for (int i = 1; i max) { max = arr[i]; } } return max; } </pre> <p> <strong>Explanation:</strong> </p> <p>In this example, we first declare the <strong> <em>find_max</em> </strong> function prototype at the beginning of our program, before the main function. Then, inside the main function, we declare an integer <strong> <em>array arr</em> </strong> and initialize it with some values, and a variable size that stores the size of the array. After that, we call the <strong> <em>find_max function</em> </strong> , passing in the <strong> <em>arr array</em> </strong> and <strong> <em>size</em> </strong> , and store the result in an integer variable named <strong> <em>max</em> </strong> . Finally, we print out the result using <strong> <em>printf</em> </strong> .</p> <p>The <strong> <em>find_max function</em> </strong> takes in an integer array <strong> <em>arr</em> </strong> and its size <strong> <em>size</em> </strong> as arguments, and returns the maximum value in the array as an integer. Inside the function, we first initialize a variable max with the first element of the array arr. After that, we loop over the remaining elements of the array using a for loop, comparing each element to the current maximum value using an if statement. If the current element is greater than the current maximum, we update max to the value of the current element. After the loop finishes, we return the final value of max.</p> <p>The <strong> <em>output</em> </strong> of the code will be:</p> <pre> The maximum value in the array is: 8 </pre> <p>This is because the <strong> <em>find_max</em> </strong> function searches through the array <strong> <em>{3, 5, 2, 8, 1}</em> </strong> and finds that the maximum value is <strong> <em>8</em> </strong> , which is then printed out using <strong> <em>printf</em> </strong> .</p> <p>Overall, function prototypes are an essential part of C programming that allow for <strong> <em>modular programming</em> , <em>type checking</em> , <em>error handling</em> </strong> , and <strong> <em>self-documenting code</em> </strong> . By declaring function prototypes, developers can write more robust, maintainable, and error-free code.</p> <p> <strong>Example 5:</strong> </p> <pre> #include void greet_user(char *name); int main() { char name[50]; printf('What is your name? '); scanf('%s', name); greet_user(name); return 0; } void greet_user(char *name) { printf('Hello, %s! Nice to meet you. ', name); } </pre> <p> <strong>Explanation:</strong> </p> <p>In this example, we first declare the <strong> <em>greet_user function</em> </strong> prototype at the beginning of our program, before the main function. Then, inside the main function, we declare a character array name with a size of <strong> <em>50</em> </strong> , and use <strong> <em>printf</em> </strong> and <strong> <em>scanf</em> </strong> to ask the user for their name and read it into the name array. After that, we call the <strong> <em>greet_user function</em> </strong> , passing in the name array as an argument.</p> <p>The <strong> <em>greet_user function</em> </strong> takes in a character pointer name as an argument, which is a pointer to the first character of a string. Inside the function, we use <strong> <em>printf</em> </strong> to print out a greeting message that includes the user's name, and a friendly message.</p> <p>The output of the code will depend on the user's input. Here's an example of what the output might look like:</p> <pre> What is your name? suman Hello, suman! Nice to meet you. </pre> <p>In this case, the user enters the name <strong> <em>'suman'</em> </strong> , and the program prints out a greeting message that includes their name.</p> <h2>Conclusion:</h2> <p> <strong> <em>Function prototypes</em> </strong> are an important part of C programming, enabling modular programming, error checking, and self-documenting code. By declaring the signature of a function before it is called, function prototypes allow the compiler to check for errors, enable modular programming, and make code easier to read and understand.</p> <p>In C programming, function prototypes are typically included in <strong> <em>header files</em> </strong> , which are then included in both the main program and the function definition files. It allows functions to be called from any part of the program without requiring access to the function's implementation details. By understanding the importance of function prototypes and how they are used in C programming, developers can write more robust, maintainable, and error-free code.</p> <hr></size;>
Açıklama:
Bu örnekte öncelikle şunu beyan ediyoruz: hesap_ortalama Programımızın başında ana fonksiyondan önce fonksiyon prototipi bulunmaktadır. Bundan sonra, ana fonksiyonun içinde bir tamsayı dizisi bildiririz. varış bazı değerler ve bir boyut ile 5 . Bundan sonra, diyoruz hesapla_ortalama işlevi , içinden geçerken dizi dizisi ve boyutunu seçin ve sonucu bir kayan değişken adlandırılmış ortalama . Son olarak printf kullanarak sonucu yazdırıyoruz.
hesap_ortalama fonksiyon tamsayıyı alır dizi dizisi ve boyutunu argüman olarak döndürür ve dizinin ortalama değerini bir batmadan yüzmek . İlk önce adında bir kayan değişken değişkeni bildiririz toplam fonksiyonun içinde ve onu başlat 0,0 . Bundan sonra dizideki her öğe arasında bir döngü kullanırız. döngü için , her öğeyi toplam değişkenine ekleyerek. Son olarak toplam değişkenin dizi boyutuna bölünmesinin sonucunu döndürürüz.
Ortalaması 3.00 Çünkü varış dizi değerleri içerir {1, 2, 3, 4, 5} ve bu değerlerin ortalaması (1+2+3+4+5)/5 = 3,00 . baskı ana fonksiyondaki ifade şunu kullanır: %f biçim belirtici ortalama değeri kayan noktalı sayı olarak yazdırmak için. .2 değiştirici yalnızca iki ondalık basamağı yazdırmak istediğimizi belirtir.
Örnek 2:
#include void print_message(char *msg); int main() { char *msg = 'Hello, world!'; print_message(msg); return 0; } void print_message(char *msg) { printf('%s ', msg); }
Çıktı:
Hello, world!
Açıklama:
mb'den gb'ye
Bu örnekte öncelikle şunu beyan ediyoruz: print_message programımızın başında, ana fonksiyondan önce fonksiyon prototipi. Daha sonra ana fonksiyonun içinde bir karakter işaretçisi bildiririz. mesaj ve onu bir dize değişmezine işaret edecek şekilde başlatın 'Selam Dünya!' . Bundan sonra, diyoruz print_message geçen fonksiyon mesaj işaretçisi .
print_message işlev bir karakter işaretçisini alır mesaj bir argüman olarak ve hiçbir şey döndürmez (geçersiz) . Fonksiyonun içinde şunu kullanıyoruz: printf işlevi ile işaret edilen dizeyi yazdırmak için mesaj , ardından bir yeni satır karakteri ( ) . %S Biçim belirtici bir dizeyi yazdırmak için kullanılır.
Çıkış: Selam Dünya! . Çünkü print_message işlev, işaret ettiği dizeyi yazdırır mesaj işaretçisi , bu durumda 'Selam Dünya!' , ardından yeni satır karakteri gelir.
Örnek 3:
#include int factorial(int n); int main() { int n = 5; int result = factorial(n); printf('%d! = %d ', n, result); return 0; } int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n-1); } }
Açıklama:
Bu örnekte öncelikle şunu beyan ediyoruz: faktöriyel fonksiyon Prototipi programımızın başında, ana fonksiyondan önce görüyoruz. Daha sonra ana fonksiyonun içinde bir tamsayı değişkeni bildiririz. N ve onu başlat 5 . Bundan sonra faktöriyel fonksiyonu çağırıyoruz. N ve sonucu adlı bir tamsayı değişkeninde saklayın. sonuç . Son olarak sonucu kullanarak yazdırıyoruz. baskı .
Faktöriyel fonksiyon bir tamsayı alır N bir argüman olarak kullanır ve faktöriyelini bir tamsayı . Fonksiyonun içinde ilk önce olup olmadığını kontrol ederiz. N eşittir 0 . Eğer öyleyse geri döneriz 1 , o zamandan beri 0! = 1 tanım olarak. Aksi halde geri döneriz n * faktöriyel(n-1) , faktöriyeli olan N çarpımı olarak yinelemeli olarak hesaplanır N ve faktöriyeli n-1 .
Kodun çıktısı şöyle olacaktır:
5! = 120
Bunun nedeni faktöriyel fonksiyon hesaplar 5! gibi 5 * 4 * 3 * 2 * 1 = 120 ve bu sonuç kullanılarak yazdırılır baskı .
Örnek 4:
#include int find_max(int arr[], int size); int main() { int arr[] = {3, 5, 2, 8, 1}; int size = sizeof(arr) / sizeof(int); int max = find_max(arr, size); printf('The maximum value in the array is: %d ', max); return 0; } int find_max(int arr[], int size) { int max = arr[0]; for (int i = 1; i max) { max = arr[i]; } } return max; }
Açıklama:
Bu örnekte öncelikle şunu beyan ediyoruz: maksimum_bul programımızın başında, ana fonksiyondan önce fonksiyon prototipi. Daha sonra ana fonksiyonun içinde bir tamsayı bildiririz. dizi dizisi ve onu bazı değerlerle ve dizinin boyutunu saklayan bir değişken boyutla başlatın. Bundan sonra, diyoruz maksimum_bul işlevi , içinden geçerken dizi dizisi Ve boyut ve sonucu adlı bir tamsayı değişkeninde saklayın. maksimum . Son olarak sonucu kullanarak yazdırıyoruz. baskı .
maksimum_bul işlevi bir tamsayı dizisini alır varış ve büyüklüğü boyut bağımsız değişken olarak kullanır ve dizideki maksimum değeri bir tamsayı olarak döndürür. Fonksiyonun içinde ilk olarak arr dizisinin ilk elemanıyla bir max değişkenini başlatırız. Bundan sonra, for döngüsü kullanarak dizinin geri kalan öğeleri üzerinde döngü yaparız ve her öğeyi bir if ifadesi kullanarak geçerli maksimum değerle karşılaştırırız. Geçerli öğe geçerli maksimumdan büyükse, max değerini geçerli öğenin değerine güncelleriz. Döngü bittikten sonra max'ın son değerini döndürürüz.
çıktı kodun şu şekilde olacaktır:
The maximum value in the array is: 8
Bunun nedeni maksimum_bul işlev dizi boyunca arama yapar {3, 5, 2, 8, 1} ve maksimum değerin olduğunu bulur 8 , daha sonra kullanılarak yazdırılır baskı .
Genel olarak, fonksiyon prototipleri C programlamanın önemli bir parçasıdır. modüler programlama , tip kontrolü , Hata yönetimi , Ve kendi kendini belgeleyen kod . Geliştiriciler, işlev prototiplerini bildirerek daha sağlam, bakımı kolay ve hatasız kod yazabilirler.
Örnek 5:
int'ye java dizesi
#include void greet_user(char *name); int main() { char name[50]; printf('What is your name? '); scanf('%s', name); greet_user(name); return 0; } void greet_user(char *name) { printf('Hello, %s! Nice to meet you. ', name); }
Açıklama:
Bu örnekte öncelikle şunu beyan ediyoruz: selam_kullanıcı işlevi Prototipi programımızın başında, ana fonksiyondan önce görüyoruz. Daha sonra ana fonksiyonun içinde boyutunda bir karakter dizisi adı bildiririz. elli , ve kullan baskı Ve tarama kullanıcıya adını sormak ve bunu ad dizisine okumak için. Bundan sonra, diyoruz selam_kullanıcı işlevi , isim dizisini argüman olarak ileterek.
selam_kullanıcı işlevi argüman olarak bir karakter işaretçisi adını alır; bu, bir dizenin ilk karakterine yönelik bir işaretçidir. Fonksiyonun içinde şunu kullanıyoruz: baskı Kullanıcının adını ve dostça bir mesajı içeren bir tebrik mesajı yazdırmak için.
Kodun çıktısı kullanıcının girişine bağlı olacaktır. İşte çıktının nasıl görünebileceğine dair bir örnek:
What is your name? suman Hello, suman! Nice to meet you.
Bu durumda kullanıcı adını girer. 'sumam' ve program, adlarını içeren bir karşılama mesajı yazdırır.
Çözüm:
Fonksiyon prototipleri C programlamanın önemli bir parçasıdır; modüler programlamayı, hata kontrolünü ve kodun kendi kendini belgelemesini sağlar. İşlev prototipleri, bir işlevin imzasını çağrılmadan önce bildirerek derleyicinin hataları kontrol etmesine, modüler programlamayı etkinleştirmesine ve kodun okunmasını ve anlaşılmasını kolaylaştırmasına olanak tanır.
C programlamada fonksiyon prototipleri genellikle başlık dosyaları , bunlar daha sonra hem ana programa hem de işlev tanımı dosyalarına dahil edilir. İşlev uygulama ayrıntılarına erişim gerekmeden, işlevlerin programın herhangi bir bölümünden çağrılmasına olanak tanır. Geliştiriciler, fonksiyon prototiplerinin önemini ve bunların C programlamada nasıl kullanıldığını anlayarak daha sağlam, bakımı yapılabilir ve hatasız kod yazabilirler.