当前位置: 首页 > news >正文

企业网站 静态页面太原免费网络推广哪里朿

企业网站 静态页面,太原免费网络推广哪里朿,泰安网签查询2023,seo优化的方法有哪些一般情况,子函数中动态申请内存,将地址返回给主函数,理论上应该也是可以的,需要子函数返回动态内存地址,主函数实参是相应的地址变量即可。只不过,主函数实参传入子函数之前,可能会将指针置空&a…

一般情况,子函数中动态申请内存,将地址返回给主函数,理论上应该也是可以的,需要子函数返回动态内存地址,主函数实参是相应的地址变量即可。只不过,主函数实参传入子函数之前,可能会将指针置空,那么,子函数就不能动态申请内存了。

如下例子:

C语言进阶---动态内存管理_c语言怎么遍历动态申请里面的内容-CSDN博客

4.几个经典的面试题

4.1 题目1:
void Getmemory(char* p)//形参是实参的一份临时拷贝 p是指针变量 p指向NULL *p是NULL
{p = (char*)malloc(100);//p由指向NULL 变为指向malloc开辟空间的起始地址
}
void Test(void)
{char* str = NULL;GetMemory(str);//传的是实参strcpy(str, "helllo world");printf(str);
}
//程序会崩溃无法打印

更正:通过传实参的地址来找到实参在内存当中的位置然后再改变实参的值:

void GetMemory(char** p)//char**p接收str的地址,是一个二级指针
{*p = (char*)malloc(100);//*p==str 由指向NULL 变为指向malloc开辟空间的起始地址
}
void Test(void)
{char* str = NULL;GetMemory(&str);//转str的地址strcpy(str, "helllo world");printf(str);free(str);str = NULL;
}
int main()
{Test();return 0;
}
//程序会正常打印"hello world"

另一个传地址的例子:

4.2题目2:

返回栈空间问题:

char* GetMemory(void)
{char p [] = "hello world";//栈空间开辟数组return p;//p放在寄存器当中,这个函数可以成功返回数组名p,也就是数组的首元素地址}
void Test(void)
{char* str = NULL;str = GetMemory();printf(str);
}
int main()
{Test();return 0;
}
//栈空间在用完之后会被系统回收,因此创建的数组p在GetMemory调用完之后就已经被销毁无法使用了
//str属于是野指针去访问了一块被销毁的空间,因此会打印一些随机值

改为:

int* test()
{int a = 10;return &a;//a的地址被存放在寄存器当中
}
int main()
{int* p = test();//p接收到a的地址printf("%d\n", *p);//p已经是野指针  打印10 因为调用test的栈空间还没有被覆盖printf("%d\n", *p);// 打印随机值 有一次调用test函数,栈空间被新随机值给覆盖return 0;
}

另外,上面所说子函数动态申请内存给主函数用,主函数在使用完要释放。释放后最好置空,否则,其是个野指针,可能会导致错误。

4.3题目3:
void GetMemory(char** p, int num)
{assert(*p);*p = (char*)malloc(num);
}
void tset(void)
{char* str = NULL;GetMemory(&str, 100);strcpy(str, "hello");printf(str);//free释放free(str);str = NULL;
}
int main()
{test();return 0;
}

改正:

void test(void)
{char* str = (char*)malloc(100);strcpy(str, "hello");free(str);//free释放str = NULL;//置空if (str != NULL){strcpy(str, "world");printf(str);//无法打印}
}
int main()
{test();return 0;
}

http://www.yayakq.cn/news/285567/

相关文章:

  • 如何 网站收录情况建设银行总行网站
  • 自由策划网站建设网站模板 可做采集站
  • 做效果图网站传媒公司
  • 纯静态网站seo用户体验设计师是干嘛
  • wordpress网站之间互联红色ppt模板免费下载网站
  • 河南郑州旅游网站设计做一个网站的计划书
  • 网站丢失了怎么办啊wordpress标签显示
  • 视频教育网站开发网站内容建设运维服务
  • 自己做视频网站怎么让加载速度变快wordpress安装后做什么
  • 未来做啥网站能致富海城网站设计
  • 榆林网站建设价格vi设计英文
  • wordpress 默认站点wordpress按作者归档
  • 怎么看网站做的外链江门手机模板建站
  • 网站建设金思扬网络提供网站设计服务商
  • 广州外贸网站建站st3网站开发
  • 做外发的网站wordpress 伪静态 效果
  • 企业邮箱登录方法南阳网站建设优化
  • 网站备案 新闻审批号wordpress+修改邮箱
  • 网站销售如何做业绩app编写软件
  • 做网站能接到模具单吗免费网络推广100种方法
  • 班级网站建设开题报告wordpress缓存文件在哪
  • 百度推广还要求做网站网络推广商城网站
  • 响应网站和模板网站有哪些怎么给网站做手机端
  • 商丘网站建设有限公司网站正在建设中亚洲
  • 建筑网站大全玻璃手机网页无法访问
  • 卡板技术支持 东莞网站建设家居设计案例
  • 买完网站怎么建设国有企业查询系统
  • changer网站建设秦皇岛和平大街网站建设
  • 哪个网站做不锈钢好wordpress后台邮箱
  • html5手机网站开发视频教程网站因备案关闭