point point

[url]http://learn.akae.cn/media/ch23s06.html[/url]

int main(int argc, char *argv[])
{
int i = 8;
int *pi = &i;
int **ppi = π
printf("%d \n",*pi);
printf("%d \n",**ppi);

printf("%d \n",pi);
printf("%d \n",*ppi);

return 0;
}


char **getpoint()
{
static char *str = "xxxxxxx";
printf("point %p\n",str);
return &str;
}

int main(int argc, char *argv[])
{
char **p = getpoint();
printf("%s\n", *p);
*p = NULL;
printf("main %p\n",*p);

getpoint();

return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MODEBUFFSIZE 4096

// 0)特定的内存模块管理
// 1)static,只执行一次。则只malloc一次;
// 2)以后也可以找回地址,方便使用和管理
// 3)指针的指针,还可以在别处释放内存,Good!
// 但是可以在其它地方*str = NULL,那么getFileListPoint()的作用就失去效果了。对了就对了,错了就Over了
char **getModePoint()
{
static char *str = NULL;
if (str == NULL)
str = (char *)malloc(MODEBUFFSIZE);
return &str;
}

void FreeModeBuff()
{
char **str = getModePoint();
if (*str != NULL)
{
free(*str);
*str = NULL;
}
}

void clearModeBuff()
{
char **str = getModePoint();
memset(*str, 0, LISTBUFFSIZE);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值