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



为什么要有指针? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

你的学习方式是错误的。

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


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

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


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


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

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

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




  

相关话题

  程序员的你,有哪些炫技的代码写法? 
  Android 将来能否实现用 C/C++ 作为开发语言?还是说现在的架构就注定了只适合用 Java? 
  为什么很多人反对编程语言允许非ASCII码标识符? 
  如果鸿蒙系统成功,会复兴C/C++吗? 
  为什么 Go 语言把类型放在后面? 
  为什么中国出了这么多厉害的互联网公司,但没有自己设计过编程语言? 
  如何看待 Python 之父 Guido 加盟微软? 
  C 语言中不同类型指针的大小是否完全相同,为什么? 
  libevent+rabbitmq 架构做高并发服务器可否? 
  为什么C语言用int *a 来声明指针变量,而不是int &a声明? 

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





© 2025-01-18 - tinynew.org. All Rights Reserved.
© 2025-01-18 - tinynew.org. 保留所有权利