看20s时作者的声明,他声明的a是地址,*a是其中包含的内容
int*可以理解为一种数据类型,和int一样,int*是申明一个地址变量a,a用来接收传入的地址
这种性能好
前一个是取ab地址上的值
第二次是取ab所在的地址
栈用来记录代码运行到断点处时,此时正在运行的函数的状态信息,比如:函数形参、局部变量值等。只有当你运行某个函数时,栈才会把这个函数的相关信息存储起来。进入change函数,就会把change函数的相关状态保存,退出change函数时,就会将保存的信息清除
如果main函数的某行代码是调用change函数,s就会进入change函数内部;如果没有s命令,就直接调用change函数且返回,进入main代码行的下一行。
我把代码稍微改一下: int* a;
这里的a就是代表指针变量(int*),而不是一个整型变量(int)
所以a存放的是地址,*a才是地址中存放的值(这里的*与第一行的*不同,这个*是取地址的意思)