next up previous contents
Next: 傳送陣列位址到函式 Up: 指標 Previous: 雙重指標   Contents   DYWANG_HOME

傳送指標到函式

  1. 範例一:傳送 unsigned long 變數 sec 的位址到函式 getSeconds,並改變 sec 內容。函式 time 回傳的數字是從 1970 年 1 月 1 日 0 時 0 分 0 秒 到現在的秒數,稱為 Unix 時間(戳)或 POSIX 時間。
    [dywang@dyw219 zzz]$ vim pointer8.c
    [dywang@dyw219 zzz]$ cat pointer8.c
    #include <stdio.h>
    #include <time.h>
     
    void getSeconds(unsigned long *par) {
       *par = time( NULL );
       return;
    }
    
    main () {
       unsigned long sec;
    
       getSeconds( &sec );
    
       printf("Number of seconds: %ld\n", sec );
    }
    
  2. 編譯
    [dywang@dyw219 zzz]$ gcc -o pointer8 pointer8.c
    
  3. 執行結果:輸出的時間秒數是從 1970 年 1 月 1 日 0 時 0 分 0 秒 到現在的秒數。
    [dywang@dyw219 zzz]$ ./pointer8
    Number of seconds: 1563269570
    
  4. 下命令 date +%s 一樣可以取得這秒數。
    [dywang@dyw219 zzz]$ date +%s
    1563269576
    



De-Yu Wang 2021-01-11