我是靠谱客的博主 烂漫薯片,最近开发中收集的这篇文章主要介绍c语言指针名称,C语言指针关于指针名称以及所指变量的认识,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

几个月没有写博客,我认为这代表了几个月以来我的编程技术没有进步。

这次的指针问题其实是我上个月就拖下来的问题,我以为我懂了,其实我没有。

bVbAVxh

代码如上。

目的其实是在一列entry的最前面再加一个entry。其实我知道有更简单的方法。(然而其实代码已经很简单了)

原代码(错误代码如下)

bVbAVxr

当代码header = element放在insertEntry函数定义的最后一行时,main函数中的header并不会改变。指针在函数中可以改变的是指针所指地址变量的值,比如header -> value , header -> next。这些是可以被改变的(在main中被改变),而在main以外的函数中改变header所指向的位置,并不会改变main函数中header所指向的位置(the value of the pointer is copied into the formal parameter when the function is called. Therefore, any change made to the formal parameter by the function does not affect the pointer that was passed to the function. Although the pointer cannot be changed by the function, the data elements that the pointer references can be changed!(Stephen G. Kochan, Programming in C)).当时读教材里的这句话感到似懂非懂,但应该就是这个意思。指针指的数据可以改变,指针本身和其他传入函数的变量一样也是个copy不能改变。

下面是一个值被改变的例子:

bVbAVzh

当第二个元素在函数内被移除,改变的是next的地址,在main函数中同样被移除。

晚上试一试可不可以用指针的指针解决这个问题。另外有一个疑问:

bVbAVzn

output:

bVbAVzo

为什么可以有printf(message)这种python的存在。。。

——————————————更新————————————

绝了。。用了一分钟就用指针的指针写出来了。。没意思:

bVbAVBe

结果直接是1....

bVbAVGJ

bVbAVNJ

下次更应该在很久之后了,内容可能是前端。node.js,vue,http,js我现在都一塌糊涂,C掌握得也很烂,实名焦虑

啊怎么办啊我太菜了

最后

以上就是烂漫薯片为你收集整理的c语言指针名称,C语言指针关于指针名称以及所指变量的认识的全部内容,希望文章能够帮你解决c语言指针名称,C语言指针关于指针名称以及所指变量的认识所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部