⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 很好的 关于C++的例子 我想你要是可以把上面的例子都做好了 看明白了 关于函数指针这一部分你应该学的很好了
💻 CPP
字号:
#include "iostream.h"
#include "malloc.h"
#include "string.h"

void GetMemory(char *p, int num)
{
	p = (char *)malloc(sizeof(char) * num);
}
	
void Test(void)
{
	char *str = NULL;
	GetMemory(str, 100); // str 仍然为 NULL
	strcpy(str, "hello"); // 运行错误
	cout<< str << endl;
}//示例7-4-1 试图用指针参数申请动态内存 





//--------------------------



void GetMemory2(char **p, int num)
{
	*p = (char *)malloc(sizeof(char) * num);
}
	
void Test2(void)
{
	char *str = NULL;
	GetMemory2(&str, 100); // 注意参数是 &str,而不是str
	strcpy(str, "hello");
	cout<< str << endl;
	free(str);
}//示例7-4-2用指向指针的指针申请动态内存 





//---------------------------



char *GetString(void)
{
	char p[] = "hello world";
	return p; // 编译器将提出警告
}
	
void Test4(void)
{
	char *str = NULL;
	str = GetString(); // str 的内容是垃圾
	cout<< str << endl;
}//示例7-4-4 return语句返回指向"栈内存"的指针 


//----------------------------
char *GetString2(void)
{
	char *p = "hello world";
	return p;
}
	
void Test5(void)
{
	char *str = NULL;
	str = GetString2();
	cout<< str << endl;
}//示例7-4-5 return语句返回常量字符串 


int main()
{
	Test4();
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -