❶ 为什么c语言指针那么难
指针确实难于理解。指针具有两个身份:
第一,指针本身是一个变量。只要是是变量,它就占用内存地址。当然如果没有分配内存地址,不在其内。
第二,指针包含一定的一个内容。指针所特殊的就是,他的内容保存的是其他变量的地址。
以上两点可以通过书中的示例7-7有比较好的体现。
例如,定义指针变量intp1。 intp1=&a 就表示 intp1保存的信息为a的地址。
而*intp1表示是intp1所保存地址的内存单元所保存的值,实际就是a的值。
所以,你给出的 *intp1=&a; 是一种不太合适写法。我们可以这样假设,再给一个变量b。令*intp1=b=&a,则
b=&a,说明b保存的a的地址,这样b就是一个指针。那*intp1=b,则说明 intp1所保存的地址指向的内存单元为b。所以,intp1可以看成a的指针的指针。
上面这个例子比较绕,慢慢想想,就理解了。
❷ C语言学到指针这个地方有点困难了,该怎样学,抓住什么关键点啊。
指针的话确实是C中最难得一块了,指针的本质是地址,要好好理解这个。一般指针在数组或是链表什么的用的比较多。数组的话可以对比一下用下标和用指针的区别,从而加深理解。当然,编程这个东西我觉得还是应该多练,多上机实践。
❸ C语言和C++的指针到底有多难
有人说难有人说不难,关键你怎么去理解指针 在我学习的时候就一点儿困难也没有,反而觉得它非常的好用 学习指针前,你要了解一下内存,知道cpu怎么得到数据 ,那么一切就easy了 提示一下 指针当作普通变量理解就可以,只是它所存储的是一个内存地址 ,然后你结合 * ,& 的效果一看,指针非常的简单
❹ 在C语言中,到底是指针难 学还是算法难学
从本质上来说,这应该属于一个伪命题。这两样东西是不应该被放在一起比较的。
指针是被设计来解决具体的问题的,就好象是一件工具,要想生产一辆汽车,你没有水压机,用锤子也能敲一辆出来。只不过慢一点而已。
但如果没有设计图纸,不了解发动机的工作原理,想要凭小学水平独立作一辆汽车,基本上不可能。
水压机就类似于指针,工作原理就类似于算法。
实际上也是如此,许多语言(例如JAVA)都没有指针的概念,但也工作的很好。
回到哪个更难的问题。实际上,任何人经过一段时间的训练后,都要以比较娴熟的掌握指针的常用用法,并彻底了解指针的概念。但算法不同,没人敢说自己对所有算法都掌握并能熟练运用了。
同样,在C语言中,对指针本身的研究基本停止了,毕竟这只是一个工具,就象没人肯研究锤子本身一样。人们主要研究的还是算法方法的东西。也就是怎么把工具用的更好。
所以,算法难学
❺ c语言指针,下面这题看不懂,求解😭
while (*y++)
因为++运算符优先级比*高,所以先对指针y加1,再取出指针y指向的 字符
如果取出的字符不为0( ) 就循环
因为字符串数组 a[]={hello} 是依字符'