为了账号安全,请及时绑定邮箱和手机立即绑定

C语言数据指针用途及特点

C语言数据指针用途及特点

C
森林海 2019-04-04 10:02:59
指针什么情况下用才比较好,稍微列举个例子,最好说说什么情况下一定要用指针比较好再譬如如图所示,数组a[2]是个元素,指针也可以找到元素,用哪个方法好,是不是a[2]我要是从别的地方调用,a[]就要设置成全局变量,比较占用ram,要是用指针就有可能省资源?
查看完整描述

4 回答

?
www说

TA贡献1775条经验 获得超8个赞

1.指针概念:变量的地址(计算机内存字节的编号)叫做指针,存放变量地址的变量叫指针变量, 简言之,指针是用来存放地址的。
2.指针作用:指向这个变量或数组的首地址,是变量的间接引用方式。其值如果改变,变量的值或数组元素的值也会跟着改变。程序对变量的操作实际上是对变量所在的存储空间读取和写入数据。方便对变量的操作。
3.举例说明:
int a=3;/*定义一个整型变量a,并赋初值3*/
int *p;/*定义一个指针变量P*/
p=&a;/*让p指向a的首地址,也就是a的地址*/
程序为a分配一个2个字节的存储单元,假如2个字节的地址分别为(ABCD1和ABCD2,唯一),那么p里面放的值就是ABCD1,不是3。这时可通过p直接引用a,实际上*p=3。以后不管a存放在内存中的哪个地方,只用通过调用p就可以引用a。这时如果令*p=4,则最后的a值也为4。对于数组,指针是指向数组的首地址。

 


查看完整回答
反对 回复 2019-04-05
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

指针的最大好处是:它非常灵活,功能强大!!它可以指向系统内存中的任何一个地址!这个功能是最棒的!尤其是编写系统程序的人员特别需要!例如:定义一个整型指针变量:int * point ; 然后你可以用 p=0x12345,即你可以指向机器的物理地址 0x 12345,然后你可以读取该地址的值。

至于你说的第二个问题,用数组比用指针安全、保险,不容易出错。所以如果能用数组引用元素的话,就尽量不用指针。

查看完整回答
反对 回复 2019-04-05
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

提高运行速度
在函数带如参数的时候会非常的方便
处理链表很方便

就是处理起来麻烦
在函数带如参数的时候会非常的方便
例如
void swap(int *x, int *y)
{
int p = *y;
*y = *x;
*x = p;
}

void main()
{
int a[10],i;
int max,min,max_i = 0,min_i = 0;

scanf("%d",&a[0]);
max = min = a[0];

for(i = 1; i <10; i++)
{
scanf("%d",&a[i]);

if(max <a[i])
{
max = a[i];
max_i = i;
}

if(min > a[i])
{
min = a[i];
min_i = i;
}
}

swap(&a[max_i], &a[min_i]);

for(i =0 ; i <10; i++)
{
printf("%d ", a[i]);
}
}

  



查看完整回答
反对 回复 2019-04-05
  • 4 回答
  • 0 关注
  • 1406 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信