百科问答小站 logo
百科问答小站 font logo



为什么要有指针? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

你的学习方式是错误的。

你的这些为什么要有XX的理解,大多数都是不那么正确的。


为什么要有指针,指针的内涵也就是地址是先于指针而存在的,对于C语言而言指针并不是在混沌没有指针的世界中突然发明出来的,是先有地址,然后C语言发明了一系列的语法让我们可以对地址进行操作,所以你这种学习方式是有问题的,至少不能用这种臆测的方式来学习C语言。

如果你的问题是为什么有了引用还需要有指针,我建议你先从C语言学起,再学C++语言,你就会知道引用的出现比指针晚太多了,所以根本不存在什么已经有了引用还需要指针干什么?


如果你的问题换成,如果我设计一种新的语言,是否需要设计指针,如果不设计指针,我能用什么语法来代替,这样的话,我觉得会是一个好问题。


当然,问题中最大的槽点是:

我连最基本的需求都有点不明白。我会用指针,但很多时候不明白为什么这个地方要用指针。
指针说白了就是存放的地址,可以用指针指向任何的地方,变量、结构体、类,说是“指”,其实存放这些数据的地址,方便查找,看不懂别人写的指针程序,拿出大杀招,直接画个内存分配图也能搞的明明白白。但是为什么要“指”?
我直接使用引用也能够操作这些变量、结构体、类的数据。所以关键还是为什么要另外开辟一块内存存放这些数据的地址用来访问,为什么要“指“?

按照这种说法的话,其实变量也是不需要的,变量的本质不也就是一个内存地址的别名么,你可以自己一开始把内存都规划好然后直接直接读写指定的位置就好了。




  

相关话题

  埃式筛为什么只要筛到根号n就好了? 
  老大只让用vi写代码该怎么破? 
  程序员一不小心删除了自己的代码是怎么样一种体验? 
  Golang 的 goroutine 是如何实现的? 
  c++怎么在1到n这些数中随机产生k(k<n)个?当然,k个数互不相等。有什么比较好的写法吗? 
  有什么算法可以很快的找出所有完全对称日呢? 
  做一个优秀的程序员到底难在哪里? 
  windows10 界面是用什么语言编写的?.NET在最新的操作系统中有哪些应用 
  C语言为何不改进数组? 
  如何评价某985老师所说的「C语言至少学10年才能懂」? 

前一个讨论
各种豆角都怎么叫?做法有什么区别?
下一个讨论
C# 虽然在语言层面上更胜 Java 一筹,但是这对于占有率真的很重要吗?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利