c语言程序设计--指针
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言程序设计--指针
一、地址
1.内存是计算机进行数据运算的物理空间,地址即内存中的指定位置。
2.操作符“&”作用于变量,找到地址。操作符“*”作用于地址,取得该地址内存中存储的变量。
二、地址应用
1.变量地址做函数参数
void fun1(int *a)
{
函数体;
}
int main()
{
int a=5;
fun1(&a);
return 0;
}
2.数组做函数参数
void fun1(int a[])
{
函数体;
}
int main()
{
int a[5]={5,4,3,21,7};
fun1(a);
return 0;
}
三、指针
1.指针是存放变量地址的变量
2.声明格式:类型说明符*标识符;
3.指针可以指向变量、常量、数组、字符串、结构体、函数。
4.指针需要初始化
例:int *a;
int num=5;
a=#
5.指针指向同一变量时可以进行比较运算,例如当两个指针指向同一数组时,比较运算表示比较两个指针在数组中位置的大小。两个指针相等表示他们指向数组中的同一个元素。
6.指针和整数进行加减运算,编译器会根据所指对象的数据长度对该整数进行放大,char的放大因子为1,int和short的放大因子为2,long和float的放大因子为4,double的放大因子为8。
7.当两个指针指向同一变量时,他们可以进行减运算。例如,当两个
指针指向同一个数组时,他们的差是两个指针之间元素的个数。相减的结果遵守对象类型的字节长度的缩减规则。
8.指向数组的指针
数组在内存空间中的存储是连续的,数组名表示数组的第一个元素的地址。