C语言之指针
2021-03-11 12:29
标签:ast 挖掘 运算符 main函数 输出 ack 存储 print amp 在函数调用时,可以只传递一个指针,而不用传递整组数据;指针可以让两段代码同步处理用一条数据,避免了副本和共享数据。 每当我们声明一个变量,计算机都会在存储器中某个地方为它创建空间。如果在函数(例如main()函数)中声明变量,计算机会把它保存在一个叫栈(Stack)的存储器区段中;如果你在函数以外的地方声明变量,计算机则会把它保存在存储器的全局量段(Globals)。在函数中声明的变量通常保存在栈中。在函数外声明的变量保存在全局量区。 mian()函数中定义的longitude是局部变量,当main函数里调用go_south_east函数时,将longtitude的值复制给了lon,这是个赋值的过程,最后输出的还是longtitude,值没变,当go_south_east()函数修改了lon的值时,函数只是修改了本地的副本,也就是说程序返回main()函数时,变量longitude中保存的还是它原来的值32。 void go_south_east(int *lat, int *lon)//定义参数为指针变量 1、计算机会为变量在存储器中分配空间。 、 C语言之指针 标签:ast 挖掘 运算符 main函数 输出 ack 存储 print amp 原文地址:https://www.cnblogs.com/sean-zhou0917/p/14127390.html什么是指针
深入挖掘存储器
#include
结果分析
‘‘‘include
{
*lat = *lat - 1;//对指针变量进行操作
*lon = *lon + 1;
}
int main()
{
int latitude = 32;
int longitude = -64;
go_south_east(&latitude, &longitude);//&表示取该变量的地址
printf("停!当前位置: [%i, %i]\n", latitude, longitude);
return 0;
}
//这样运行结果就对了
‘‘‘要点:
2、局部变量位于栈中。
3、全局变量位于全局量段。
4、指针只是一个保存存储器地址的变量。
5、&运算符可以找到变量的地址。
6、运算符可以读取存储器地址中的内容。
7、运算符还可以设置存储器地址中的内容