全域指標
之前都下意識的以為全域指標直接宣告了就可以用了
其實不然,指標指向的記憶體區塊有可能被改掉!
以下是錯誤的範例!
##CONTINUE##
因此我們必須將靜態去配置一個不可更改的記憶體區塊!
利用 malloc 方式宣告出來,使用完在 free 掉以確保記憶體空間被釋放
其實不然,指標指向的記憶體區塊有可能被改掉!
以下是錯誤的範例!
##CONTINUE##
#include
#include
char *netstar_url;
int main(int argc, char *argv[])
{
char *test="url=www.gemtek.com.tw";
printf("test=%s\n",test);
netstar_url=strchr(test,'=')+1;
printf("netstar_url=%s\n",netstar_url);
getprintf();
system("PAUSE");
return 0;
}
int getprintf()
{
printf("netstar_url=%s\n",netstar_url);
return 0;
}
因此我們必須將靜態去配置一個不可更改的記憶體區塊!
利用 malloc 方式宣告出來,使用完在 free 掉以確保記憶體空間被釋放
netstar_url = malloc(strlen(get_url)+1);
strcpy(netstar_url,get_url);
留言
張貼留言