指针-----希望对大家有用
来源:互联网 发布:excel数组求和 编辑:程序博客网 时间:2024/04/30 08:53
指针变量
1、观察表示指针的内容,大多数现代计算机用字节来分隔内存,每个字节可以储存8位信息。内存为 16MB的机器拥有16777216个字节,那么可以认为作为地址数的范围是0~n-1.
2、程序中每个变量占有一个或者多个内存字节,把第一个地址称为是变量的地址。如图:变量i占有的 字节从地址2000到地址2001,所以变量i的地址是2000:
3、在用变量p存储变量i的地址时,我们说成是p“指向”i,换句话说,指针就是地址,而且指针变量知 识储存地址的变量。
4、int *p 说明P是指向int型对象的指针变量。类似的还有float ,char,double;
5、 & 取地址运算:如果x是变量&x就是x在内存中的地址,如果*p是指针,那么*p表示p当前 指向的对象。int i,*p => p=&i;
6间接寻址运算符:一旦指针便来弄个指向的对象可以用 * 运算符访问储存在对象中的内容例如p指向i、 ,那么可以如下所显示出i的值:printf("%d/n",*p);这个printf会显示i的值,而不是i的地址。
7、例如:j=*&i;/*same as j=i;*/
只要p指向i,那么*p就是i的别名。*p不仅拥有和i同样的值,而且对*p的改变也会改变i的值
注释:不要把间接寻址运算符用于为初始化的指针变量
指针作为实际参数
程序:找出数组中的最大元素和最小原色
#include <stdio.h>
#define N 10
void max_min(int a[], int n, int *max, int *min);
main()
{
int b[N],i ,big,small;
printf("Enter %d number :",N);
for(i=0;i<N;i++)
scanf("%d",&b[i]);
max_min(b,N,&big,&small);
printf("Largest:%d/n",big);
printf("Smallest:%d/n",samll);
return 0;
}
void max_min(int a[], int n, int *max,int *min)
{
int i;
*max=*min=a[0];
for(i=1;i<n;i++)
{
if(a[i]>*max)
{
*max=a[i];
else if(a[i]<*min)
*min=a[i];
}
}
}
- 指针-----希望对大家有用
- 杀毒软件下载,希望对大家有用
- RTSP协议中文版,希望对大家有用!
- [推荐]精品代码收藏(希望对大家有用)
- 写了几个类,希望对大家有用
- 精品代码收藏(希望对大家有用)
- 贴几个J2ME函数, 希望能对大家有用!
- sql的一些基础,希望对大家有用!
- template的用法(转载)---希望对大家有用
- 总结一下SHFileOperation的用法,希望对大家有用
- 精品代码收藏(希望对大家有用)
- 关于objective-c的内存管理(希望对大家有用)
- Android一个小球弹跳的例子,希望对大家有用
- 触发器,网上搜到的 希望对大家有用
- Android一个小球弹跳的例子,希望对大家有用
- 百度地图导航功能 希望对大家有用吧
- 自己总结的一套JavaScript,希望对大家有用
- 中兴工程师周老师对我的解惑,希望对大家也有用!!
- C#格式化时间
- 重载delete时的那点事
- MFC控件使用之Edit Box
- SQL Server 2008 Analysis Services(OLAP) - jpivot fetch hierarchy/level/members
- Asp.net 后台注册js方法汇总
- 指针-----希望对大家有用
- 英文标点符号的读法
- 数组元素的循环左移和右移...
- 使用泛型类简化ibatis系统架构
- 数据库中的DML,DCL,DDL分别是那些操作?
- MS SQL Server 数据库日期时间函数的应用
- automake
- oracle加固经验
- 关于Pentaho开源BI框架的研究报告