问题出现

最近在温习算法,有一个对传入数组排序的问题,我想的是,写一个函数,函数中直接创建一个新的数组,把排序好的结果放在新数组里,再修改原来的数组指针,指向新数组,但是修改指针的时候出现了问题。

为了说清楚,抓住主要矛盾,我写了这样的代码:
数组指针不可修改
这里把数组的指针传进去却报错了。

可能原因问题(1)

尝试用malloc函数试试:
数组指针不可修改
是没问题的,那指针还有不同的“类型”吗?结合下报错提示看看:
数组指针不可修改
看来是有可能了,但有理论依据吗?
我们malloc出来的内存和创建数组时的内存的不同是有理论依据的。
我们创建一个数组,是由系统为你创建的,系统创建的内存一般地址比较低,而我们程序员自己申请的内存空间,内存地址比较高:
数组指针不可修改

对此的疑问(1)

低地址的指针是没法修改的,因为数组是系统创建的
那是不是因为低地址的指针没办法修改,高地址的可以呢?
答案显然是否定的
数组指针不可修改
我创建了一个变量num,把他的地址给pnum,pnum也是低地址,但是pnum确是可以修改的。

那是不是因为c++的毛病
=========先写到这儿吧。。。。。。。有点事

相关文章:

  • 2021-08-17
  • 2021-08-11
  • 2021-06-19
  • 2021-12-30
  • 2021-04-05
  • 2021-04-29
  • 2021-05-24
猜你喜欢
  • 2022-12-23
  • 2021-05-23
  • 2021-12-05
  • 2021-06-16
  • 2021-05-30
  • 2022-02-24
  • 2021-10-30
相关资源
相似解决方案