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

外贸建站与推广如何做 google网站的盈利模式

外贸建站与推广如何做 google,网站的盈利模式,企业网站网页尺寸,wordpress伪静态规则怎么写在一个夜深人静的晚上#xff0c;有一个读者给我发了一个C语言题目。他问我#xff0c;发哥#xff0c;帮我看看这个代码有什么问题。我看了代码之后#xff0c;心里一阵恐慌。我自认为我不是C语言高手。但我确实是一个喜欢解决问题的男人。就是在这样的背景驱使下#xf… 在一个夜深人静的晚上有一个读者给我发了一个C语言题目。他问我发哥帮我看看这个代码有什么问题。我看了代码之后心里一阵恐慌。我自认为我不是C语言高手。但我确实是一个喜欢解决问题的男人。就是在这样的背景驱使下我写下了这篇文章。char *str1 hello; char str2[] hello; 我们看这两个定义。我们说这个是定义而不是声明是因为定义在内存里面分配了房子。而声明只给了个房产证却不给你分房子。str1 是 char *类型 。它是一个指针这个指针指向一个字符串。str2 是 char [] 类型。它是一个数组他代表了这堆内存空间。“hello”字符串在内存中是这样存放的我之前写过一个不同变量地址分配在内存不同区域的文章有不清晰的可以再回去看看。str1 str3都是指向字符串的指针而且这个字符串是保存在字符串常量区的。这个常量区里面的东西是不能被修改的。编译器让他们指向了同一个地址。这个地址保存的东西是 “hello”这个字符串。大家看看下面这个代码有什么问题#include stdio.h #include stdlib.h #include string.hint main(void) {char *str1 hello;char *str3 hello;char str2[] hello;memcpy(str3,worldtest,strlen(worldtest)1);printf(str1:%s str3:%s str2:%s\n,str1,str3,str2);str3 world;printf(str1:%s str3:%s str2:%s\n,str1,str3,str2);printf(hello,world\n);return (0); } memcpy尝试向一个非法的地址拷贝东西这个是不允许的。为什么说这个地址非法呢因为字符常量区里面的内容只可以读不可以写。如果改成这样的呢应该输出什么结果呢#include stdio.h #include stdlib.h #include string.hint main(void) {char *str1 hello;char *str3 hello;char str2[] hello;//memcpy(str3,worldtest,strlen(worldtest)1);printf(str1:%s str3:%s str2:%s\n,str1,str3,str2);str3 world;printf(str1:%s str3:%s str2:%s\n,str1,str3,str2);printf(hello,world\n);return (0); } 我之前在文章里面讨论一个问题我们说指针的时候要说指针变量。指针变量保存的内容是一个地址。既然是变量那么保存的地址是可以变化的。只要类型符合。都可以保存。同样的在上面的例子中如果我们尝试这样str1[1] a; 这样也是错误的。这样也是写操作了非法的地址。试试下面这段代码#include stdio.h int main(){char* str1Hello;printf(\nstr1: %s, address: %p, sizeof(str1): %u, str1, str1, sizeof(str1));str1 world;printf(\nstr1: %s, address: %p, sizeof(str1): %u, str1, str1, sizeof(str1));return 1; } 输出 str1: Hello, address: 0000000000404000, sizeof(str1): 8 str1: world, address: 0000000000404031, sizeof(str1): 8 -------------------------------- Process exited after 0.0226 seconds with return value 1 请按任意键继续. . .通过赋值运算后str1的值也发生了改变。但是str2情况会不一样str2是一个数组。既然是数组我们看看这段小代码#includestdio.h int main(){char str2[] hello;printf(\nstr2: %s, address: %p, sizeof(str2): %u, str2, str2, sizeof(str2));str2[2] A;printf(\nstr2: %s, address: %p, sizeof(str2): %u, str2, str2, sizeof(str2));strcpy(str2, world);printf(\nstr2: %s, address: %p, sizeof(str2): %u, str2, str2, sizeof(str2));return 1; } 输出日志str2: hello, address: 000000000062FE10, sizeof(str2): 6 str2: heAlo, address: 000000000062FE10, sizeof(str2): 6 str2: world, address: 000000000062FE10, sizeof(str2): 6 -------------------------------- Process exited after 0.04063 seconds with return value 1 请按任意键继续. . . 送一个图晚上回来我写了一个小程序。大家看看#include stdio.h #include stdlib.h #include string.hconst int a 1; const int a1 1; char * s hello;int main() {const int b 2;const int b1 2;char * s1 hello;printf(s:%p s1:%p\n,s,s1);printf(a:%p a1:%p b:%p b1:%p\n,a,a1,b,b1);return 1; } 输出如下s:0000000000404008 s1:0000000000404008 a:0000000000404000 a1:0000000000404004 b:000000000062FE14 b1:000000000062FE10-------------------------------- Process exited after 0.03901 seconds with return value 1 请按任意键继续. . . 可以看到s,s1,a,a1在一个内存区域。这个内存区域的内容是不允许改变的。如果你对这里的内存区域赋值就会出现段错误。但是b和b1这个内存区域大家看看。我们可以写个小代码测试一下。#include stdio.h #include stdlib.h #include string.hconst int b 2;int main() {const int b1 2;int *p b1;printf(b1:%d\n,b1);*p 3;printf(b1:%d\n,b1);return 1; } 输出b1:2 b1:3-------------------------------- Process exited after 0.0403 seconds with return value 1 请按任意键继续. . . 但是我们写成这样呢#include stdio.h #include stdlib.h #include string.hconst int b 2;int main() {const int b1 2;int *p b;printf(b:%d\n,b);*p 3;printf(b:%d\n,b);return 1; } 输出b:2-------------------------------- Process exited after 3.743 seconds with return value 3221225477 请按任意键继续. . . 如果放到gcc下可以看到执行到代码*p 3; 会出现段错误。因为访问了不能访问的地址。这也就是我们很多时候给空指针赋值出现段错误的原因。操作了非法的地址。好了就瞎BB这么多如果觉得有用可以留言一起讨论下。  回复「 篮球的大肚子」进入技术群聊回复「1024」获取1000G学习资料
http://www.zqtcl.cn/news/38522/

相关文章:

  • 中国建设监理协会网站投稿wordpress 集成paypal
  • 在服务器做网站广州做网站公司哪家好
  • 西安火车站建设小游戏代码编程
  • 全国分类信息网站2010年青海省建设厅网站
  • 河北网站建设备案价格网站建设美词原创
  • 图书馆网站建设深圳华强北新闻最新消息今天
  • 介绍东莞网站建设的ppt广西住房城乡建设培训中心
  • 上饶专业企业网站建设天津大型网站建设报价公司
  • 网站设计的国际专业流程包括百度推广登陆入口
  • 网站建设公司十年乐云seo广州越秀区封控区域
  • 优秀网站设计案例分析唐山高端网站建设
  • 一键制作单页网站怎样做校园网站推广
  • 网站没有收录怎么办长沙建站
  • 台州网站优化公司做网站的可以黑客户的网站吗
  • 试描述一下网站建设的基本流程图免费推广企业网站
  • 衡水网站推广wordpress在线不能播放视频
  • 时尚类网站建设制作人是做什么的
  • 建设网站费用入会计分录nas做网站服务器
  • 套别人的网站模板吗外贸网站建设 泰州
  • 服务周到的上海网站建设网站制作学什么软件
  • 怎么创建公众号写文章百度seo推广优化
  • 那个网站的域名便宜wordpress如何修改php
  • 室内设计师参考网站要看网海外域名是多少
  • 泉州专业网站建设费用电子商务系统的基础是
  • 无锡网站制作难吗网站建设未来趋势
  • 宁波网站制作哪家强湛江网站制作计划
  • 全屏网站怎么做的自适应网站如何做mip网页
  • 石龙网站仿做短视频推广引流
  • python做网站 框架php网站开发实用技术
  • 建设银行福州分行招聘网站爱站网站长百度查询权重