日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言打开外部doc文件,C语言-内部函和外部函数.doc

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言打开外部doc文件,C语言-内部函和外部函数.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言-內部函和外部函數

8.10 內部函數和外部函數?函數本質上是全局的,因為一個函數要被另外的函數調用,但是,也可以指定函數根據函數能否被其他源文件調用,將函數區分為內部函數和外部函數。

8.10.1 內部函數

如果一個函數只能被本文件中其他函數所調用,它稱為內部函數。

在定義內部函數時,在函數名和函數類型的前面加static。即static 類型標識符函數名(形參表)如 static int fun(int a,int b)

內部函數又稱靜態函數。

使用內部函數,可以使函數只局限于所在文件,如果在不同的文件中有同名的內部函數,互不干擾。這樣不同的人可以分別編寫不同的函數,而不必擔心所用函數是否會與其他文件中函數同名,通常把只能由同一文件使用的函數和外部變量放在一個文件中,在它們前面都static使之局部化,其他文件不能引用。

8.10.2外部函數

(1) 在定義函數時,如果在函數首部的最左端冠以關鍵字extern,則表示此函數是外部函數,可供其他文件調用。

如函數首部可以寫為extern int fun (int a, int b)這樣,函數fun就可以為其他文件調用。C語言規定,如果在定義函數時省略extern,則隱含為外部函數。本書前面所用的函數都是外部函數。

(2) 在需要調用此函數的文件中,用extern聲明所用的函數是外部函數。

例8.22有一個字符串,內有若干個字符,今輸入一個字符,要求程序將字符串中該字符刪去。

用外部函數實現。file1.c(文件1)

main() { extern enter-string(char str[80]);extern delete-strin g(char str[ ],char ch);extern print-string(char str[]);  /以上3行聲明在本函數中將要調用的在其他文件中定義的3個函數   char c;   char str[80];   enter-string(str); scanf("%c",&c);

delete-string(str,c);   print-string(str);}file2.c(文件2)  #include   enter-string(char str[80])/定義外部函數enter-string*/{gets(str);} /讀入字符串str*/file3.c(文件3)

delete-string(char str[],char ch) /定義外部函數delete-string  { int i,j;  for(i=j=0;str[i]!=′\0′;i++)if(str[i]!=ch)    str[j++]=str[i];  str[j]=′\0′;  }file4.c(文件4)  print-string(char str[])/定義外部函數print-string/

{   printf("%s",str);  }   運行情況如下:abcdefgc(輸入str)   c (輸入要刪去的字符)  abdefg (輸出已刪去指定字符的字符串)整個程序由4個文件組成。每個文件包含一個函數。主函數是主控函數,除聲明部分外,由4個函數調用語句組成。其中scanf是庫函數,另外3個是用戶自己定義的函數。函數delete-string的作用是根據

給定的字符串str和要刪除的字符ch,對str作刪除處理。算法是這樣的:對str數組的字符逐個檢查,如果不是被刪除的字符就將它存放在數組中,見圖8.21(設刪除空格)。從str[0]開始逐個檢查數組元素值是否等于指定要刪除的字符,若不是就留在數組中,若是就不保留。從圖中可以看到,應該使str[0]賦給str[0],str[1][1],str[2][2],str[3][3],然后str[5][4]……請讀者注意分析如何控制i和j的變化,以便使被刪除的字符不保留在原數組中。這個題目當然可以設兩個數組,把不刪除的字符一一賦給新數組。但我們只用一個數組,只把不被刪除的字符保留下來。由于i總是大于或等于j,因此最后保留下來的字符不會覆蓋未被檢測處理的字符。最后將結束符‘\0’也復制到被保留的字符后面。

程序中3個函數都定義為外部函數。在main函數中用extern聲明在main函數中用到的enter-string、delete-string、print-string是在其他文件中定義的外部函數。通過此例可知:使用extern聲明就能夠在一個文件中調用其他文件中定義的函數,或者說把該函數的作用域擴展到本文件。extern聲明

總結

以上是生活随笔為你收集整理的c语言打开外部doc文件,C语言-内部函和外部函数.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。