C語言是一個面向過程的語言,它函數庫裡的函數是有限的也是比較底層的函數往往不夠我的需求,所以C語言可以自定義函數,讓編程人員按自己的需求去定義自己想要的函數來更方便的處理數據。
像我們常用的printf,getchar和putchar函數等等都是從C語言的函數庫來的,這三個函數都定義都在stdio.h這個頭文件中
下邊我們先說一下自定義函數的格式和方式
1.聲明函數: 聲明一個返回整形值的函數ccc,格式如下(函數返回值的類型 函數名())
int ccc( )
2.擬定函數的接受值:讓ccc函數接受兩個整形數值b和c
int ccc(int b, int c)
3.函數體:函數體是將這個函數所接受的數值該如何處理,怎麼處理的一個過程,這兒我們就將函數ccc說接受的兩個值b和c相加
int ccc(int b, int c)
{
int d;
d = b + c; //將b和c的值相加然後賦值給d
}
4.函數的返回結果:函數的返回結果是返回給所調用它的函數,函數的返回值有return 來返回具體如下
int ccc(int b, int c)
{
int d;
d = b + c; //將b和c的值相加然後賦值給d
return d;
}
5.函數的調用:用一下方式將調用這個ccc函數 函數名(函數接受的值1,函數接受的值2)
main()
{
int x = 4, y = 5;
int SUMY;
SUMY = ccc(x, y); //函數ccc的調用,讓x的值賦值給以上ccc函數的接受值b,y賦值給c。然後將b+c後返回給main函數,然後再將相加的值賦值給SUMY
printf("X + Y = %d\n", SUMY);
}
上邊就是一個函數聲明的基本過程,下邊將演示這個函數的調用和執行結果:
[root@CWG hc]# cat hs.c
#include <stdio.h>
int ccc(int b, int c) //聲明一個函數ccc接受兩個int類型的數值分別是b和c
{
int d;
d = b + c;
return d; //經過函數體的運算,將返回d的值給調用者
}
main()
{
int x = 4, y = 5;
int SUMY;
SUMY = ccc(x, y); //用ccc的函數體運算x和y兩個int類型數值的和
printf("X + Y = %d\n", SUMY); //打印出SUMY的值
}
[root@CWG hc]# ./hs
X + Y = 9
整體是一個自定義函數的聲明定義和調用過程。
相關閱讀:
C語言變長數組之剖析 http://www.linuxidc.com/Linux/2013-07/86997.htm
C語言需要注意的問題 http://www.linuxidc.com/Linux/2013-05/84301.htm
C語言位域的使用及其注意點 http://www.linuxidc.com/Linux/2013-07/87027.htm