关于#正常运行#的问题,如何解决?

img


为什么这段代码能正常运行

img


而这段代码不能运行
求各位指教 谢谢!
求各位指教 谢谢!

const c 变量只能在定义时立即初始化

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7714748
  • 这篇博客也不错, 你可以看下【代码解析】双向链表实现贪吃蛇游戏!简单易学,开发自己第一个游戏!
  • 除此之外, 这篇博客: 数组指针和指针数组用法和功能中的 :看词组的最后两个词是数组,那么含义是数组里面元素是指针的数组。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 我们看代码可以更容易理解。

    int a[3][4];
    	int(*p)[4];//数组指针,p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为4个整型的数组。所以p是一个指针,指向一个数组叫指针数组。
    //这里要注意:[]的优先级要高于*号的,所以必须加上()来保证p先和*结合。
    一个数组,叫数组指
    	int *q[3];//指针数组
    	p = a;
    	for (int i = 0; i < 3; ++i)
    	{
    		q[i] = a[i];数组名一定不能放在左值
    	}
    	int a[3][4];//a(int(*)[4])a[i](int *) a[i][j](int)
    	int b[10];//b(int *) b[i](int)

    从二维数组来理解,首先先介绍几个概念。

    • 数组名代表数组首元素的首地址。
    • 数组的下标为什么从0开始?因为下标表示的是当前元素距首地址的偏移量。
    • 用树的方法来理解二维数组。
    • a[0]    
      a[1]    
      a[2]    

  • 您还可以看一下 张传波老师的软件设计是怎样炼成的?课程中的 采用更进取的设计策略,打造工作流引擎!小节, 巩固相关知识点