C语言高级编程学习笔记--指针
2007-12-07 07:22
519 查看
1.malloc与指针使用
网上看到一道笔试题,关于指针的,题目如下:
void GetMemory(char *p)
{
p = (char *) malloc(100);
}
void Test(void)
{
char * str = NULL;
GetMemory(str);
strcpy(str, "Hello world");
printf(str);
}
Test的输出结果是什么?
在VC8出错,因为str是一个空指针,因为GetMemory是一个传值调用,如果是指针调用的话需要改成如下代码:
void GetMemory(char* *ppStr)
{
*ppStr = (char*)malloc(100);
}
void TestMemory(void)
{
char * str = NULL;
GetMemory(&str);
strcpy(str, "Hello world");
printf(str);
}
此时的输出结果才为:Hello world
网上看到一道笔试题,关于指针的,题目如下:
void GetMemory(char *p)
{
p = (char *) malloc(100);
}
void Test(void)
{
char * str = NULL;
GetMemory(str);
strcpy(str, "Hello world");
printf(str);
}
Test的输出结果是什么?
在VC8出错,因为str是一个空指针,因为GetMemory是一个传值调用,如果是指针调用的话需要改成如下代码:
void GetMemory(char* *ppStr)
{
*ppStr = (char*)malloc(100);
}
void TestMemory(void)
{
char * str = NULL;
GetMemory(&str);
strcpy(str, "Hello world");
printf(str);
}
此时的输出结果才为:Hello world
相关文章推荐
- C#2005高级编程Chapter11内存管理和指针学习笔记
- C语言高级专题学习笔记-函数指针实战
- C#2005 .NET3.0高级编程学习笔记———.NET体系结构
- C#2005 .NET3.0高级编程学习笔记———C#基础
- C#2005 .NET3.0高级编程学习笔记————类和结构,类的数据成员,类的函数成员(方法、属性)
- Oracle专家高级编程学习笔记(一)
- android_c++ 高级编程NDK学习笔记五
- 【c语言学习笔记】指针数组和数组指针以及在做题的时候遇到的问题
- python高级编程-装饰器学习笔记
- 高级编程学习笔记(二) 函数调用栈空间的分配和释放
- C语言学习笔记 (001) - 常量指针与指针常量的区别(转帖)
- block 知识点 ---- Objective-C 高级编程 iOS 与 OS X 多线程内存管理 学习笔记
- Unix环境高级编程学习笔记之进程环境(1)
- C语言学习笔记-指针
- 黑马程序员---c语言 指针的学习笔记
- C++面向对象高级编程(上)学习笔记
- 【《Objective-C 高级编程》 学习笔记--引用计数】
- Java7编程 高级进阶学习笔记--嵌套类
- 【学习笔记】【C语言】指向函数的指针