程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 靜態的聲明一個指針變量

靜態的聲明一個指針變量

編輯:C++入門知識

我是從Android的GPS模擬器代碼中看到的,覺得很有意思,就記錄下來了

首先是結構體的定義:


[cpp]
/* this is the state of our connection to the qemu_gpsd daemon */ 
typedef struct { 
    int                     init; 
    int                     fd; 
    GpsCallbacks            callbacks; 
    pthread_t               thread; 
    int                     control[2]; 
} GpsState; 

/* this is the state of our connection to the qemu_gpsd daemon */
typedef struct {
    int                     init;
    int                     fd;
    GpsCallbacks            callbacks;
    pthread_t               thread;
    int                     control[2];
} GpsState;
然後聲明結構體指針變量

static GpsState  _gps_state[1];


正常使用:


[cpp]
static int 
qemu_gps_init(GpsCallbacks* callbacks) 

    GpsState*  s = _gps_state; 
 
    if (!s->init) 
        gps_state_init(s, callbacks); 
 
    if (s->fd < 0) 
        return -1; 
 
    return 0; 

static int
qemu_gps_init(GpsCallbacks* callbacks)
{
    GpsState*  s = _gps_state;

    if (!s->init)
        gps_state_init(s, callbacks);

    if (s->fd < 0)
        return -1;

    return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved