化妆品做网站流程,什么是网络营销产品,外贸网站首页,wordpress主题lovephoto/* 指针变量作为函数参数 函数的参数可以是指针类型#xff0c;它的作用是将一个变量的地址传送到另一个函数中。 指针变量作为函数参数与变量本身作为函数参数不同#xff0c;变量作函数参数传递的是具体值。 而指针作为函数参数传递的是内存的… /* 指针变量作为函数参数 函数的参数可以是指针类型它的作用是将一个变量的地址传送到另一个函数中。 指针变量作为函数参数与变量本身作为函数参数不同变量作函数参数传递的是具体值。 而指针作为函数参数传递的是内存的地址 */ #includeiostream //C 标准输入输出流头文件
using namespace std;void swapfunc(int *p1,int *p2) //将地址里面的值进行交换
{int temp 0;temp *p1;*p1 *p2; *p2 temp;
}int main()
{int a,b;int *pa,*pb;cout 请输入 a b 的值endl;cin a b ;pa a;pb b;if (ab)swapfunc(p1,p2)cout a a ,b b endl;cout *pa , *pb endl;return 0;
} 指向数组元素的指针的定义与赋值 int a[10], *p; p a[0]; //数组第一个元素的地址 p a; //直接用数组名赋值 p是变量 a 是常量 若数组元素为int型则指向其的指针变量也对应为int型 如 int a[10]; 则int *p a; int *p a[0]; //这是两种情况且均为赋初值 通过指针引用数组元素 int a[10]; int *p a; //为指针变量赋初值 * p 1 a[0] 1 ; //通过指针变量为数组元素赋值 C规定p1指向数组的下一个元素而不是下一个字节。 如 *p1 2; a[1] 2; *p 2; pp1; //指针变量也重新赋值 *p2; #includeiostream //C 标准输入输出流头文件
using namespace std;int main()
{int a[5] {12,30,66,55,22} int *p a; //将数组的第一个元素首地址赋给指针变量p p a[0] 12cout a[0] *p endl;*p 33;cout a[0] *p endl;cout 结果为 *(p1) endl; // 30 return 0;
} 取地址与取值的区别 #include iostreamusing namespace std;int main()
{int max 66;int remax max;cout max的地址是 max endl;cout remax的地址是 remax endl;cout \n\n max的值 max endl;cout remax的值 remax endl;return 0;
} 对引用类型的变量说明以下几点 1.引用在定义的时候要初始化。 int remax ; // 错误没有具体的引用对象 int remax max ; //max是已经定义过的变量 2.对引用的操作就是对被引用的变量的操作。 3.引用类型变量的初始化不能是一个常数。 如int refl 5 //是错误的 int refl i; 4.引用同变量一样有地址可以对其地址进行操作即将其地址赋给一指针 int a,*p; int m a; //是变量的引用 p m; *p 10; //是变量的地址 5.可以用动态分配的内存空间来初始化一个引用变量 float reff * new float ; //用new开辟一个空间取一个别名reff reff 200; //给空间赋值 cout reffendl;; //输出200 delete reff; //收回这个空间 6.指针与引用的区别 1指针是通过地址间接访问某个变量而引用是通过别名直接访问某个变量。 2引用必须通过初始化而一旦被初始化后不得作为其它变量的别名。 ps:当 a 的前面有类型符时如int a,它必然是对引用的声明如果前面无类型符如couta),则是取变量的地址。 以下的声明是非法的 (1).企图建立数组的引用 int a[9]; (2).企图建立指向引用的指针 int * p; (3).企图建立引用的引用 int px; 7.对常量用const声明的引用 void main() { const int r 8; //说明r为常量不可赋值 cout r rendl; //r15 ; //r为常量不可作为赋值运算 coutr rendl; } 8.引用与函数 引用的用途主要是用来作函数的参数或函数的返回值 引用作函数的形参实际上是在被调函数中对实参变量进行操作 void change(int x,int y) // x,y是实参ab的别名
{int t; tx; xy; yz;
}void main(void)
{int a 3, b 5;change(a,b); //实参为变量cout a \t b endl;
} 9.函数的返回值为引用类型 可以把函数定义为引用类型这时函数的返回值即为某一变量的引用别名因此它相当于返回了一个变量所以可对其返回值进行赋值操作。这一点类同于函数的返回值为指针类型。 #includeiostream
using namespace std;int a 4;
int f(int x) //函数返回a的引用即a的别名
{a a x;return a;
}int main(int agrc,char *argv[])
{int t 5;cout f(t)endl;f(t) 20;cout f(t)endl;t f(t);cout f(t)endl; return 0;
} 10.const类型常量 当用const限制说明标识符时表示所说明的数据类型为常量类型。可分为const型常量和const型指针。 可用const限制定义标识符量如 const int MaxLine 666 const float Pi 3.1415926; 用const定义的标识符常量时一定要对其初始化。在说明进行初始化是对这种常量置值的唯一办法不能用赋值运算符对这种常量进行赋值。如 MaxLine 35; #includeiostream
using namespace std;int main(int argc,char *argv[])
{int a 3,b 5 ; const int *pa b; //可以不赋初值pa a; //指针变量可以重新赋值 cout *pa endl; //输出3// *pa 10; //非法指针指向的内容不能赋值a 100 ; //变量可以重新赋值cout *pa endl; //输出100 return 0;
}//即不可以通过指针对变量重新赋值