数组在函数内地址的改变
using namespace std;
void hanshu(int *a,int *b);
void printout(int *a);
int main()
{
int a[10],b[10];
for(int i=0;i<10;i++)
{a[i]=i;b[i]=i;}
hanshu(a,b);
printout(a);
return 0;
}
void printout(int *a)
{
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
void hanshu(int *a,int *b)
{
b[1]=3;b[7]=2;
a=b;
printout(a);
}
/*在函数里面有语句a=b,在主函数内并没有实现这种改变,请问除了逐个将b的值赋给a,有什么其他方法?*/
相关推荐
C语言之指针数组函数
基本解释 1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
数组和指针的关系
数组名是个常量指针(const pointer)? 你TM在逗我?数组名只是个名字,你能给它个类型? 像下面这些命题: 数组是指针 数组是指针常量 数组是常量指针 数组名是常量指针 数组名是指针常量 统统,统统都是错的。后两个是扯淡,变量名字也有类型??这些其实都是说的是数组,不管行为怎样令人迷惑,但都是说的数组,不应该有数组名是xxx这个说法。 说下性质: int a[10] = { 0 }; int * ptr = NULL; int * const cptr = NULL; // const pointer
数组指针与指针数组
数组指针与指针数组 数组指针: 什么是数组指针:能够指向数组的指针。 定义一个int (*p)[10],首先()的优先级高于[]所以p首先是一个指针,指向的是一个整形的一维数组,所以是数组指针。 数组指针是一个指针不是数组 因为数组指针指向的是数组,数组指针中存放的是数组的地址 数组指针的使用: 二维数组的传参: #include #include void PrintfArr(int (*array)[5],int row,int col) { for(int i = 0; i < row ; i++) { for(int j = 0; j < col; j++) { p
数组名作为函数的参数分析.zip
数组名作为函数的参数分析
详解C++中的指针、数组指针与函数指针
本文从初学者的角度,深入浅出地讲解C++中的指针、数组指针与函数指针,对最常混淆的引用传递、值传递和指针传递做了区处,需要的朋友可以参考下


