指针参数传递内存的一个测试程序
来源:互联网 发布:淘宝下载安装免费 编辑:程序博客网 时间:2024/09/21 08:16
以下是根据 林锐博士 《高质量c/c++编程指南》中的7.4中一个程序编写的测试程序,
希望路过的大侠帮忙解释下函数操作失败的原因,万分感谢!
/*
函数测试指针作为参数对内存的传递
*/
#include<stdio.h>
#include<stdlib.h> //sizeof()
#include<string.h> //strcpy()
//该函数设计 为指针p所指首地址分配num大小的内存块
int GetMemory(char *p,int num);
void main(void)
{
char *str=NULL;
int flag=0;
flag=GetMemory(str,100);
if(flag)
{
printf("flag=%d/n",flag); //vc环境下显示flag=1
strcpy(str,"hello"); //程序在此中断
printf("%s/n",str);
}
else
printf("flag=%d/n",flag);
}
int GetMemory(char *p,int num)
{
p=(char *)malloc(sizeof(char)*num);
if(p!=NULL)
return 1;
else
return 0;
}
林锐博士在说明这个函数时指出该函数调用完成后,str依然为NULL。但是我在vc环境下操作时,flag=1,且str不为零
tc下显示
flag=1
<null>
Null pointer assignment
tc调试中p确实显示NULL。
请帮忙解释下其中的工作原理,谢谢。
- 指针参数传递内存的一个测试程序
- 指针参数传递内存
- 指针参数是如何传递内存的?
- 指针参数是如何传递内存的?
- 指针参数是如何传递内存的?
- 指针参数是如何传递内存的
- 指针参数是如何传递内存的
- 指针参数传递内存的方法
- 指针参数是如何传递内存的?
- 指针参数是如何传递内存的
- 指针参数是如何传递内存的
- 指针参数是如何传递内存的?
- 指针参数是如何传递内存的?
- 指针参数是如何传递内存的
- 指针参数是如何传递内存的
- 关于指针参数的内存传递副本
- 指针参数是如何传递内存的?
- 指针参数是如何传递内存的?
- DOS命令字典(收藏)
- PS 给图片加彩虹效果
- 用NetBeans开发Struts
- YUI Research -- Connection Manager module
- YUI Research -- Event Module
- 指针参数传递内存的一个测试程序
- strlen源码剖析
- Visual Editor1.3在Eclipse 3.3.2中的安装
- 软件版本常识和软件版本号命名规则
- Story of my programming life
- JavaScript为不同浏览器添加事件
- Yahoo YUI的Ajax工具包
- A590入手
- YUI Research -- Animation Module