int m[] = {1,4,7}申明一个数组,有三个元素
m[0] = m[1] + 34 m[0]的值改为38
for循环遍历三个元素
m[i] = m[i]/3 ,每个元素整除3,分别输出12,1和2
定义了一个数组m,里面是1 4 7
m0 = m1 + 34,注意数组下标从0开始,因此m0 = 38,此时数组为 38 4 7
然后循环,每个元素整除3并且输出,所以输出
12 1 2(注意是连着的,我加上空格是为了让你看清楚)
我们在学习动态内存分配之前,想必是已经掌握了两种内存开辟的方式:
int a=10;//在栈上开辟了4个字节的空间
char arr[10]={0};//在栈上开辟了10个连续的1字节空间
//当然上面是在栈上开辟的空间,还有在静态区开辟的全局变量,这些方式。
以上内存开辟方式有两个特点:
1.空间开辟大小是固定的;
2.数组在申明的时候必须指定数组的长度。
但是有时候我们是不知道要开辟多少空间的,有时候需要一遍录入一边开辟,所以就诞生了动态内存分配