首頁 >電腦教學 >電腦知識 >用指標方式編寫C語言函數的實現

用指標方式編寫C語言函數的實現

PHPz
PHPz轉載
2024-01-24 21:39:051057瀏覽

用指標方式編寫C語言函數的實現

C語言寫一個函數用指標方法實作功能

int find(char* source/*來源字串*/,char* target/*子字串*/)//找到返回在來源字串中的位置,未找到返回-1,如果要改為找到返回1 ,把return i改為return 1;

{

int i,j;

int s_len=strlen(source);

int t_len=strlen(target);

if(t_len>s_len)

{

return -1;

}

for(i=0;i

{

j=0;

int flag=1;

if(source[i]==target[j])

{

int k,p=i;

for(k=0;k {

if(source[p]==target[j])

{

p ;

j ;

continue;

}

else

{

flag=0;

break;

}

}

}

else

{

continue;

}

if(flag==1)

{

return i;

}

}

return -1;

}

利用指向函數的指標程式設計

函數指標有時是很有用的,例如在結構體中定義函數指標就可以在C語言中實作類似C 的類別成員函數的特性.

下面的程式定義了一個函數指標數組,根據輸入數字的餘數(1或0),不用if else就能呼叫對應的函數了.

// 輸入為奇數

void FuncOdd(int n)

{

float i, nIterator = 0;

printf("You entered an odd number.\n");

for (i = 1; i {

nIterator =1/i;

}

printf("And the result is: %f\n",nIterator);

}

// 輸入為偶數

void FuncEven(int n)

{

float i, nIterator = 0;

printf("You entered an even number;\n");

for (i = 2; i {

nIterator =1/i;

}

printf("And the result is: %f\n",nIterator);

}

int main()

{

int nInput = 0; // 存放輸入的數字

void (*func[2])(int); // 定義函數指針,指向兩個不同的函數

func[0] = FuncEven;

func[1] = FuncOdd;

printf("Please input a number:"); // 從控制台取得輸入

#scanf("%d",&nInput);

(*func[nInput%2])(nInput); // 根據輸入數字呼叫對應函數

return 0;

}

c語言指標用法

int top 應不屬於指標的範疇了,而是int的常用變數的定義,這個top要看是怎麼用法,如果按照負數,0,正數來使用的話,可以判斷它是用來做為這個類別的一個特殊的定義標識; 如果這個變數是一個循環裡面的的計數器的話(意思就是隨著循環的次數增多或者減少)就可以判斷這個循環成功的執行的多少次了

Reader是一個類別名,意思類別也是一種資料型別

就像整數int一樣是一個資料型別名稱

Reader read[Maxr];意思是定義了一個這樣類別的數組變量,Marxr 估計就是一個巨集定義好的一個數值

為什麼可以這樣定義呢,要為class可以包含任意的資料型別(和c裡面的struct一樣),也包含外部class

以上是用指標方式編寫C語言函數的實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:docexcel.net。如有侵權,請聯絡admin@php.cn刪除