首頁>Club>
5
回覆列表
  • 1 # 一合君

    函式形參帶進來的地址

    靜態區域性變數地址

    區域性變數地址,必須在函式中用malloc()函式進行地址分配

    採用全域性變數地址

    參考程式碼:

    void func1( char *s ) //透過形參返回字串

    {

    strcpy( s, "hello");

    }

    char * func1_1( char *s ) //另一種寫法

    {

    strcpy( s, "hello");

    return s ; //返回形參地址,方便程式呼叫

    }

    char * func2( void )

    {

    static char s[100]; //不能是非靜態變數,否則,子函式結束,區域性變數被釋放,呼叫者得到一個無效的地址值。

    strcpy( s, "hello");

    return s ; //返回靜態區域性變數地址,由呼叫者採用相應的指標變數接收返回值,得到字串資料。

    }

    char * func3( void )

    {

    char *s ;

    s=(char *)malloc( 100 );

    strcpy( s, "hello");

    return s ; //返回s值,該地址需要呼叫者去free()釋放。

    }

    //定義全域性變數

    char globle_buf[100];

    void func4( void )

    {

    strcpy( globle_buf, "hello");

    }

    char * func4_1( char *s ) //另一種寫法

    {

    strcpy( globle_buf, "hello");

    return globle_buf ; //返回全域性變數地址,方便程式呼叫

    }

  • 中秋節和大豐收的關聯?
  • 手機(1/2.3英寸) 的感測器和相機的(1/2.3英寸) 的感測器有區別嗎?