扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在c语言中对变量的访问有两种,第一种是直接访问,第二种是间接访问。
创新互联公司是一家集网站建设,红河哈尼企业网站建设,红河哈尼品牌网站建设,网站定制,红河哈尼网站建设报价,网络营销,网络优化,红河哈尼网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。我们先来看直接访问:
#include
int main()
{
int a = 10;
printf("%d\n", a);
a=20;
printf("%d\n",a);
system("pause");
return 0;
}
运行结果如下
这种对变量直接赋值的过程称为直接访问。
第二种就是间接访问,即使用指针进行访问
#includeint main()
{
int a = 10;
int* p = &a;
printf("%d\n", a);
*p = 20;
printf("%d\n", a);
system("pause");
return 0;
}
运行结果如图
我们发现a的值也被修改了。
正文:为了将不同功能的代码封装成一个个函数,并且想对主函数里一些数据进行修改,我们就要使用所谓的指针来进行相关的操作。
1.指针到底是什么?
我们定义一个变量 int a=10; 那么&a就是一个指针。
2.怎么做?
我们需要定义一个指针变量用来保存指针,例如:int a=10; int* p=&a;
(int*)表示这是这个指针的类型是整型,定义指针变量的类型必须和变量类型一致。
3.为什么指针可以?
C语言里,变量存放在内存中,而内存其实就是一组有序字节,每个字节有唯一的内存地址。CPU 通过内存寻址对存储在内存中的某个指定数据对象的地址进行定位。这里,数据对象是指存储在内存中的一个指定数据类型的数值或字符串,它们都有一个自己的地址,而指针便是保存这个地址的。
4.原理图:
p指针变量保存a的地址,此时*p=10;可通过解引用(*p)实现对a值的操作;
5.实践(交换两数的值)
#include#include#includevoid swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b = 20;
swap( a, b);
printf("%d %d\n", a,b);
system("pause");
return 0;
}
运行结果 :
使用指针后:
#includevoid swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a = 10;
int b = 20;
swap(&a, &b);
printf("%d %d\n", a,b);
system("pause");
return 0;
}
运行结果:
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流