您当前的位置:首页 > 互联网教程

为什么c语言指针那么难

发布时间:2025-05-14 19:37:54    发布人:远客网络

为什么c语言指针那么难

一、为什么c语言指针那么难

1、指针确实难于理解。指针具有两个身份:

2、第一,指针本身是一个变量。只要是是变量,它就占用内存地址。当然如果没有分配内存地址,不在其内。

3、第二,指针包含一定的一个内容。指针所特殊的就是,他的内容保存的是其他变量的地址。

4、以上两点可以通过书中的示例7-7有比较好的体现。

5、例如,定义指针变量intp1。 intp1=&a就表示 intp1保存的信息为a的地址。

6、而*intp1表示是intp1所保存地址的内存单元所保存的值,实际就是a的值。

7、所以,你给出的*intp1=&a;是一种不太合适写法。我们可以这样假设,再给一个变量b。令*intp1=b=&a,则

8、b=&a,说明b保存的a的地址,这样b就是一个指针。那*intp1=b,则说明 intp1所保存的地址指向的内存单元为b。所以,intp1可以看成a的指针的指针。

9、上面这个例子比较绕,慢慢想想,就理解了。

二、在C语言中,到底是指针难 学还是算法难学

1、从本质上来说,这应该属于一个伪命题。这两样东西是不应该被放在一起比较的。

2、指针是被设计来解决具体的问题的,就好象是一件工具,要想生产一辆汽车,你没有水压机,用锤子也能敲一辆出来。只不过慢一点而已。

3、但如果没有设计图纸,不了解发动机的工作原理,想要凭小学水平独立作一辆汽车,基本上不可能。

4、水压机就类似于指针,工作原理就类似于算法。

5、实际上也是如此,许多语言(例如JAVA)都没有指针的概念,但也工作的很好。

6、回到哪个更难的问题。实际上,任何人经过一段时间的训练后,都要以比较娴熟的掌握指针的常用用法,并彻底了解指针的概念。但算法不同,没人敢说自己对所有算法都掌握并能熟练运用了。

7、同样,在C语言中,对指针本身的研究基本停止了,毕竟这只是一个工具,就象没人肯研究锤子本身一样。人们主要研究的还是算法方法的东西。也就是怎么把工具用的更好。

三、你觉得c语言难吗为什么

——当时学的时候觉得挺难的,但是现在觉得也还是可以,不是很难。

我现在在学python语言,c语言是我大一的一门课,当时学的时候不觉得,现在学了python之后,我才真的发现c语言的语法功能实在是不强大。

用python的时候根本就不用指定变量的类型,而且python处理数据特别方便,字符串是可以切片的,但是在c语言里就不行,非常麻烦。其他还有很多方面,我也基本把c语言忘完了,所以我也记不得了,但是当时这个语法功能给我整得头痛是真的。

c语言的语法是真的不好掌握,我当时学的时候老师让我们编程,哎呀真的好麻烦,所有变量都要提前定义,还要指定类型,处理的时候循环结构一大堆括号,脑袋都要绕昏,还有什么指针、数组之类的东西,总之就是学起来头痛,因为那个语法实在是太复杂了,经常不知道为什么错了,找半天也不知道怎么回事。想算个东西呢,又要写一大堆,当时考试份也超级低,到现在学了python终于上手了,才觉得当时也不是我的问题,就是学不懂c语言。

不过,虽然当时学得我怀疑人生,但是我还是在这每天的头痛中找到了一些我学不好c语言的原因,总结了一些方法,大概归结为以下几项:

学习编程,最基本的操作就是看书,因为书上有基本的一些理论知识和语法,看了书之后才能明白一门语言需要哪些基本要素。而掌握基础语法之后,就要多练习,锻炼编程思维,这样才能越来越上手。

根据自己学习c语言的目的适当跨越一些内容

我是金融专业的,学习python完全是为了处理数据,所以我就不会过于纠结基础编程中那些数学问题,因为其实编程难就难在数学问题嘛,在处理数据的时候反而用不到什么数学问题,只要语法对了,再用功能强大的库,就可以实现对金融数据的处理。c语言也是一样的,你要搞清楚自己为什么学习c语言,如果你的目标对数学问题要求不高,那其实没必要一直在基础上浪费时间,掌握了基本语法就可以直接向你的最终目标迈进了。

编程最重要的还是要不断学习,现在网上也有很多编程大佬会发免费的教程和一些他们自己编的程序,在自己平时遇到问题的时候都可以有针对性地去看看,吸取一些经验,这样你对编程能力才能完成大进步。

以上就是我的全部想法啦,希望对题主有帮助!