摘要:
#include #include /*//以前的写法 int *p = 5;这个是一种错误的写法,p首先是一个指针变量 int *p,a; p = &a; *p = 5;p是一个指针,指向一个内存地址,你不指明p指向的位置,程序怎么会知道你要给哪块内存赋值呢?你可以申请一块堆空间给p,或者直接定义一个变量,让p指向该变量*/int foo(){ int *p; p = (int *)malloc(sizeof(int)); *p = 5; return *p;}int main(){ int i = foo(); printf("%... 阅读全文
posted @ 2013-10-13 14:33
CJin
阅读(201)
评论(0)
推荐(0)
摘要:
程序1:void myMalloc(char *s) //我想在函数中分配内存,再返回{ s=(char *) malloc(100);}void main(){ char *p=NULL; myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么? if(p) free(p);}程序2:void myMalloc(char **s){ *s=(char *) malloc(100);}void main(){ char *p=NULL; myMalloc(&p); //这里的p可以得到正确的值了 if(p) free(p);}程序3:#includevo... 阅读全文
posted @ 2013-10-13 13:56
CJin
阅读(413)
评论(0)
推荐(0)

浙公网安备 33010602011771号