提示:文章
文章目录
前言
前期疑问:
本文目标:
一、背景
有个数据结构可视化的网址
https://pythontutor.com/render.html#mode=display
二、
2.1
使用pythontutor工具,一打开一个页面看到一个demo,记录一下
#include <iostream>
2
3 int main() {
4 int* x = new int[3];
5 x[1] = 20;
6 int* p = &x[1]; // pointer into middle
7 const char** fruit = new const char*[3];
8 fruit[1] = "bananas";
9 std::cout << "Yum " << *p << " " << fruit[1];
10 return 0;
11 }
自己写了个demo
int main() {
// std::vector<int> vec;
// vec.push(1);
// vec.push(2);
// vec.push(3);
int c = 0;
char test[3] = {'\0'};
char test2[3] = {'a'};
int array1[3] = {0};
int array2[3] = {2};
char ayyay[] = {1, 7, 11, 9, 44};
int* p = (int*)malloc(5 * sizeof(int));
return 0;
}
有以下疑问,
难道是array2先入栈的,看是array2地址最大。
array[]没有将5个值全部存储,是系统有自己的处理吗?
函数名会存在栈中吗?
2.2
三、
3.1
总结
未完待续