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



为什么要有指针? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

你的学习方式是错误的。

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


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

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


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


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

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

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




  

相关话题

  有哪些值得推荐的小型 C 语言开源项目? 
  在C#下有什么好办法可以替代if-else和switch-case? 
  我听说以前的系统没有图形界面,那他们是用 C# 等语言直接敲代码吗? 
  大括号不换行的坏处有什么?为什么有人不换行? 
  CodeBlocks 的强大之处在哪里? 
  只靠读代码 debug 不会单步调试能当编程高手吗? 
  以现在的编程手段做得不到真随机吗? 
  放弃你身体上的一个部位,让你拥有100%的编程才能,任何框架看一眼就精通,你会选择什么部位? 
  指针数组初始化为 nullptr 和直接使用 memcpy 有什么区别? 
  %d的d代表什么? 

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





© 2025-05-06 - tinynew.org. All Rights Reserved.
© 2025-05-06 - tinynew.org. 保留所有权利