问题的引入:
问一个问题:答案直接写出来,拷贝一份给他。
问一个问题:答案在198页,你自己去看。
指针:内存上存储的数据的地址。
指针的好处:避免了拷贝,并且可以共享数据。
avoid copy and share data.
来看一下内存:
每当你声明一个变量时,计算机要为它在内存中准备空间。
1.当一个变量被声明在一个函数里面,计算机将在内存的栈(stack)中分配空间。
2.当一个变量被声明在函数外面,计算机将在内存中的globals中分配空间。
如下:
int x=1;
int main(){
int y=10;
return 0;
}
#include <stdio.h>
void increase(int a){
printf("a=%d\n",a);
a=a+1;
printf("a=%d\n",a);
}
int main(int argc, const char * argv[])
{
// insert code here...
int b=10;
printf("b=%d\n",b);
increase(b);
printf("b=%d\n",b);
return 0;
}
执行:
b=10
a=10
a=11
b=10
过程分析:
换一下代码:
#include <stdio.h>
void increase(int * a){
printf("a=%d\n",*a);
*a=*a+1;
printf("a=%d\n",*a);
}
int main(int argc, const char * argv[])
{
// insert code here...
int b=10;
printf("b=%d\n",b);
increase(&b);
printf("b=%d\n",b);
return 0;
}
执行后输出结果:
b=10
a=10
a=11
b=11
分析如下:
指针:avoid copy and share data.
达到了效果,体会share data.
下一篇:将一个字符串作为变量。