下面隨筆將講述c++指標型別的函式,
原創鏈接:https://www.cnblogs.com/iFrank/p/14444379.html
指標型別的函式
若函式的回傳值是指標,該函式就是指標型別的函式,
指標函式的定義形式
存盤型別 資料型別 *函式名()
{ //函式體陳述句
}

1 錯誤的例子 2 3 int main(){ 4 int* function(); 5 int* ptr= function(); 6 *prt=5; //危險的訪問! 7 return 0; 8 } 9 int* function(){ 10 int local=0; //非靜態區域變數作用域和壽命都僅限于本函式體內 11 return &local; 12 }//函式運行結束時,變數local被釋
1 正確的例子1 2 3 #include 4 using namespace std; 5 int main(){ 6 int array[10]; //主函式中定義的陣列 7 int* search(int* a, int num); 8 for(int i=0; i<10; i++) 9 cin>>array[i]; 10 int* zeroptr= search(array, 10); //將主函式中陣列的首地址傳給子函式 11 return 0; 12 } 13 int* search(int* a, int num){ //指標a指向主函式中定義的陣列 14 for(int i=0; i<num; i++) 15 if(a[i]==0) 16 return &a[i]; //回傳的地址指向的元素是在主函式中定義的 17 }//函式運行結束時,a[i]的地址仍有
1 正確的例子2 2 3 #includeusing namespace std; 4 int main(){ 5 int* newintvar(); 6 int* intptr= newintvar(); 7 *intptr=5; //訪問的是合法有效的地址 8 delete intptr; //如果忘記在這里釋放,會造成記憶體泄漏 9 return 0; 10 } 11 int* newintvar (){ 12 int* p=new int(); 13 return p; //回傳的地址指向的是動態分配的空間 14 }//函式運行結束時,p中的地址仍有效 15
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/263178.html
標籤:C++
上一篇:C/C++編程筆記:string at()函式,及其使用方法
下一篇:c++函式指標說明
