论文部分内容阅读
摘要:当函数参数为地址类型时,可以有多种定义形式,因而读者易产生迷惑,通过对各种实例的分析和证明,介绍了按各种形式定义的参数的本质;同时研究了当地址类型实参和形参类型不同时的自动转换。
关键词:地址;形式参数;实际参数;类型转换
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)29-0118-02
当函数形式参数(简称形参)类型为普通类型的数值类型时,参数的定义形式以及不同当形参和实参类型不符时发生的自动转换,各类教科书已进行了详尽讲解。而当函数形参类型为地址类型时,它的定义形式多种多样,而且当地址类型实参和形参发生类型不匹配时的数据转换,还很少有资料专门研究总结。
本文针对这些问题,通过举合适的例做了证明和研究,对各种地址类型的形参的形式及本质做了总结,同时研究了地址类型数据的自动转换。
1 函数形参为一级指针
当函数形参类型为一级指针(即普通变量的地址)时,它的形式通常有一级指针和普通一维数组两种形式。
void fun1(char *a) //此处等价于(char a[ ]),数组的维数无需指出
{ int i;
for(i=0;i<=5;i )
{ putchar(*(a i)); //此处等价于putchar(a[i]);
}
}
main( )
{ char b[]="a1b2c3";
char *p;
p=b; // 等价于 p=
关键词:地址;形式参数;实际参数;类型转换
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)29-0118-02
当函数形式参数(简称形参)类型为普通类型的数值类型时,参数的定义形式以及不同当形参和实参类型不符时发生的自动转换,各类教科书已进行了详尽讲解。而当函数形参类型为地址类型时,它的定义形式多种多样,而且当地址类型实参和形参发生类型不匹配时的数据转换,还很少有资料专门研究总结。
本文针对这些问题,通过举合适的例做了证明和研究,对各种地址类型的形参的形式及本质做了总结,同时研究了地址类型数据的自动转换。
1 函数形参为一级指针
当函数形参类型为一级指针(即普通变量的地址)时,它的形式通常有一级指针和普通一维数组两种形式。
void fun1(char *a) //此处等价于(char a[ ]),数组的维数无需指出
{ int i;
for(i=0;i<=5;i )
{ putchar(*(a i)); //此处等价于putchar(a[i]);
}
}
main( )
{ char b[]="a1b2c3";
char *p;
p=b; // 等价于 p=