//形参和实参之间的三种传递方式
void fun(int i)
{ i++;}
void fun(int &i)
{ i++;}
void fun(int *i)
{ *i=*i+1;}
若指针指向的是数组的首地址,则数组元素的访问方式
1.数组名[i] 指针名[i]
2.*(数组名+i) *(指针名+i)
字符型数组的指针:
char *p,name[10];
p=name;
p="smith"; //可以等于字符串常量的地址。
name="smith";//错误的,因为数组名是指针(地址)的常量,定义后不能改变其值。
cout<<整型数组名;输出的就是数组的首地址。
cout<<字符型数组名;输出的是该数组中的所有字符,直到空字符结束。
//形参是数组,实参是数组
void fun(char name[]) // 或者写为char name[]
{ cin>>name;}
void main()
{char n[10]; fun(n); cout<<n<<endl;}
//形参是指针,实参是数组
void fun(char *p) // 或者写为char name[]
{ cin>>p;}
void main()
{char n[10]; fun(n); cout<<n<<endl;}
//形参是数组,实参是指针
void fun(char name[]) // 或者写为char name[]
{ cin>>name;}
void main()
{char n[10]; char *p=n;
fun(p); cout<<n<<endl;}
#include<iostream.h>
#include<string.h>
void fun(char name[]) // 或者写为char name[]
{
strcpy(name,"smith");
}
void main()
{
char n[10];
char *p=n;
fun(p);
cout<<n<<endl;
}
//this指针的应用。
#include<iostream.h>
class A
{
int x;
public:
A(int x)
{(*this).x=x; }//当前对象的变量x等于形参x
void displayX(){cout<<x<<endl;}
};
void main()
{
A obj1(10);
obj1.displayX();
}