扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一个函数可以返回整数数据,字符数据,浮点型数据,也可以返回一个指针。
创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。#includechar* fun(void)
{const char str[100] = "hello world";
return str;
}
int main()
{char* p;
p = fun();
printf("p=%s\n", p);
return 0;
}
总结:返回地址的时候,地址指向的内存内容不能释放。
1.返回静态局部数组的地址#includechar* fun(void)
{static char str[100] = "hello world";
return str;
}
int main()
{char* p;
p = fun();
printf("p=%s\n", p);
return 0;
}
2.返回文字常量区的字符串的地址char* fun(void)
{char* str = "hello world";
return str;
}
int main()
{char* p;
p = fun();
printf("p=%s\n", p);
return 0;
}
3.返回堆内存的地址#include#include#includechar* fun(void)
{char* str;
str = (char*)malloc(100);
strcpy_s(str,100,"hello world");
return str;
}
int main()
{char* p;
p = fun();
printf("p=%s\n", p);
free(p);
return 0;
}
总结:返回的地址,地址指向的内存的内容得存在,返回的地址才有意义。
函数指针用来保存函数的入口地址。
在项目开发中,我们经常要编写或者调用带函数指针参数的函数。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流