2011-02-17 78 views
12

返回靜態類型數據的可能影響是什麼。我們應該什麼時候使用它?返回類型靜態的影響

static ssize_t 
my_read(int fd, char *ptr) 
{ 
    //code from Stevens Unix Network programming. 
     if (something) 
     return (-1) 
     if (something else) 
      return (0) 


     return (1) 
} 

爲什麼靜態在這裏?

謝謝。

回答

28

該函數是靜態的,而不是返回類型。這意味着它只能從當前編譯單元中調用。

+0

謝謝馬塞洛。 – freedesk 2011-02-17 05:33:48

+0

返回靜態數據類型時還有另一個方面。 – Algorithmist 2011-02-17 05:40:56

2

我們返回一個指針,以創建一個變量,名爲function.for如

float * calculate_area(float r) 
{ 
    float *p; 
    static float area; 
    p=&area; 
    area=3.14*r*r; 
    return p; 
} 

時使用靜態數據類型,如果你將使區域自動變量即沒有任何類型的預選賽將被銷燬時,控制返回從被調用的函數。當聲明爲靜態時,您可以正確地從main中檢索區域的值。因此,爲了使它保持其值,我們將它作爲靜態。