/**/##*msgg[]={"","","","","","","Saturday"};voidget_w_day(constchar**pp){pp[0]=msgg[2];//*pp=msgg[0];pp[1]=msgg[3];//*(pp+1)=msgg[1];}intmain(void){charptr[2]={};constchar*pptr=ptr;//这里初始化也可以为NULL,不会导致编译出错和运行时的段错误,但在实际程序中最好详细初始化constchar**ppptr=pptr;//在ppptr参数传入get_w_day()函数之前,必须对其进行初始化,否则会导致运行时的段错误//仔细想一下原因,如果ppptr是NULL,那么get_w_day()函数修改的*ppptr就会修改一个不确定的位置//进一步从底层查找原因,如果ppptr是NULL,那么传入get_w_day()时刻的实际值就是0x0,也就是我们要操作*((char*)0x00)=??//这样必然导致一个段错误get_w_day(ppptr);charfuck=**ppptr+1;//这里的fuck应该等于几?答案是'U'=='T'+1charfuckk=*(*ppptr+1);//如果是fuck=*(*ppptr+1)呢?答案是'u'==指向"Tuesday"头指针加1charfuckkk=**(ppptr+1);//如果是**(ppptr+1)呢?答案是'V'charfuckkkk=**((ppptr+1)+1//是'W'=='V'+1charfuckkkkk=**((ppptr+2)+1//是一个不确定的值,有可能引起段错误printf("%s\t%s

",*ppptr,*(ppptr+1));return0;}

c语言 char* 参数,深入理解c语言中两级指针(char **pptr)的参数的用法相关推荐

  1. 深入理解C语言中两级指针(char **pptr)的参数的用法

    最近在看亚嵌的<Linux C编程一站式学习>,对其中的两层指针的参数用法有些疑惑,下面和大家分享一下学习心得! 首先来看一段代码: /* main.c */ #include <s ...

  2. 视频教程-C语言-从汇编角度理解C语言的本质-C/C++

    C语言-从汇编角度理解C语言的本质 擅长JavaWeb开发,游戏逆向外挂与反外挂,游戏保护对抗 孙冉 ¥49.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅 ...

  3. c语言cyc函数,深入理解C语言

    导读:Dennis Ritchie过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言.一门经历40多年的到今天还长盛不训的语言,今天很多语言都受到C的影 响,C++,Java,C#,Per ...

  4. C语言(C++语言)中##(两个井号)和#(一个井号)用法[转]

    C语言(C++语言)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念).下面对常遇到的宏的使用问题做了简单总结. 关 于#和## 在C语言的宏中,#的功能是将其后面的宏参数进 ...

  5. c语言system返回信息,理解c语言system函数的返回值

    作者:新浪微博(@NP等不等于P) 计算机学习微信公众号(jsj_xx) c语言中的system函数可以说是程序执行时的一道重生之门,其重生妙效犹如我们之前<透析硬链接和软链接的区别>一文 ...

  6. cieluv_用C语言计算CIELAB、CIELUV均匀颜色空间中两种颜色的色差

    例如:已知两颜色样品的色度值为:Y1=76.79,x1=0.4480,y1=0.3478:Y2=75.67,x2=0.4621,y2=0.4090试按照2°视场和D50光源计算两颜色的总色差和 (如果 ...

  7. python函数中可变参数的传递方式是_Python中函数的参数传递与可变长参数

    1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0):2 printtext,num3 4 foo("asd") #asd 0 5 foo( ...

  8. vue中两种路由跳转拼接参数

    this.$router.push({name:"Home",query:{id:1,name:2}}) // 取到路由带过来的参数 let routerParams = this ...

  9. a commit git 参数是什么意思_Git中的git reset的三种参数的区别

    我们平时在使用git的时候,经常会遇到需要撤销上次操作的需求,这时候需要用到git reset的这个命令,他的使用就是 "git-reset – Reset current HEAD to ...

最新文章

  1. python可视化来分析全国疫情
  2. iBatis 配置文件详解
  3. 华为计算黄之鹏:AI开源框架已经到“汽车替代马车”的阶段 | MEET2021
  4. app后台开发笔记-新手
  5. boost::signals2模块实现使用自动连接管理的测试程序
  6. 利用日志传送实现高可用性
  7. 解决 锁定文件失败 打不开磁盘“D:\ubuntu\Ubuntu 64 位.vmdk”或它所依赖的某个快照磁盘。 模块 Disk”启动失败...
  8. 编写监控脚本,监控集群内所有服务存活状态,内存、磁盘剩余率检测,异常则发送报警邮件...
  9. IT职场人生系列之十三:技术?管理?业务?
  10. 一个简单的shell文件备份脚本
  11. 深度学习推理性能优化,一个越来越重要的话题
  12. event.srcElement 说明 方法 技巧
  13. 象棋将帅不能碰面 java_为何象棋有“将帅不能碰面”的规则?原来这有一个不为人知的典故...
  14. 报考PMP一定得经过培训机构吗?
  15. [基础]tfcenter搭建个人服务器
  16. 9gag for android,GitHub - Mixiaoxiao/9GAG: 9GAG-Android (unofficial), Android Design.
  17. oracle数据库中批量把一张表里面的数据插入到不同的表中的方法
  18. 【githubshare】免费开源的视频编辑器,兼容 Windows、macOS、Linux 等主流操作系统。支持最新音视频格式与 4K 分辨率,可实现视频特效
  19. Matlab机械臂综合仿真平台,包含运动学、动力学和控制。 MATLAB机器人仿真正逆运动学simulink轨迹规划 机械臂动力学控制等
  20. mos中Port-Specific的意思

热门文章

  1. TVB经典电视剧--《创世纪》回忆
  2. 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(代码实现)
  3. python爬虫手机验证码登录_python爬虫解决手机验证码问题
  4. 一款好看的秒表计时器
  5. 属性(Property)的性质(Attribute)介绍
  6. 使用 KubeSphere 和极狐GitLab 打造云原生持续交付系统
  7. 拯救者Y7000安装ubuntu时出现的问题
  8. day25/RegexDemo1.java
  9. android qq账号登陆验证手机号码,注册QQ号如何跳过手机验证
  10. Android基础知识复习之打开照相机拍照并获取照片