做3d动画网站,广州公关公司排行榜,成立公司需要几个股东,哪一家好指针基础 指针#xff08;变量#xff09;是C/C支持的一种变量。指针变量的值是一个地址#xff0c;该地址是一个16进制的数。指针变量指向该地址所对应的变量。 指针声明
//*号表示指针变量。**号表示二级指针#xff08;指向指针的指针#xff09;#xff0c;只有由它…指针基础 指针变量是C/C支持的一种变量。指针变量的值是一个地址该地址是一个16进制的数。指针变量指向该地址所对应的变量。 指针声明
//*号表示指针变量。**号表示二级指针指向指针的指针只有由它声明的变量可以指向指针变量。
//type包括C基本数据类型及自定义类型type *variable_name;eg:int *p;int *a[5];char *ptr;int **pp;指针定义
//指针的值是变量在内存里的地址一个16进制的数
int *ptr;
int a;
ptra;//把int型变量a的地址赋给ptr
int **ppptr//把int *型变量ptr的地址赋给pp实例(代码已调试)
访问单独变量
#include iostream
using namespace std;
int main()
{//声明一个int型指针变量//如果指针没有初始值可以将NULL(值为0)赋给它避免后续使用未初始化的指针 int *ptrNULL;//声明二级指针int **ppptr;coutptr:\tptrendl;//指针不可指向内存地址为0的区域此区域为系统保留属非法操作 //cout*ptr:\t*ptrendl;int a100;ptra;coutptr:\tptrendl;cout*pp:\t*ppendl;cout**pp:\t**ppendl;cout*ptr:\t*ptrendl;cout*a:\t*(a)endl;couta:\taendl;*ptr101;cout**pp:\t**ppendl;cout*ptr:\t*ptrendl;cout*a:\t*(a)endl;couta:\taendl;return 0;
}访问数组
#include iostream
using namespace std;
int main()
{//指针访问数组 int i,a[5]{10,20,30,40,50};//让指针ptr指向数组首地址 int *ptra;cout*ptr:\t*ptrendl;for(i0;i5;i){//i自增1ptri移动4个字节刚好指向下一个数组成员 coutptr i 的地址\tptriendl;cout10 * ptr[i] 10*(*(ptri))endl;}return 0;
}指针数组访问整型数组
#include iostream
using namespace std;
int main()
{//指针数组访问整型数组 int *ptr3[5],i,b[5]{0,1,2,3,4};for(i0;i5;i){ptr3[i]b[i];cout10 * ptr3[i] 10*(*ptr3[i])endl;} return 0;
}指针数组访问字符串数组
#include iostream
using namespace std;
int main()
{//指针数组访问字符串数组 const char *names[4] {Zhangsan,Lisi,Wangwu,Chenliu};int i; for (i 0; i 4; i){cout Value of names[ i ] ;cout *names[i] endl;}coutendl;for (i 0; i 4; i){cout Value of names[ i ] ;cout names[i] endl;}return 0;
}指针作为函数参数
#include iostream
using namespace std;
//指针调用
void Swap(int *a,int *b)
{int temp*a;*a*b;*btemp;
}
int main(int argc, char** argv){int a10,b20;cout交换前\ta\tb\n;Swap(a,b); cout交换后\ta\tb\n;return 0;
}
指针作为函数返回值
#include iostream
using namespace std;
int * get_half()
{int i;//a必须声明为静态变量 static int a[10];for(i0;i10;i){a[i]i/2;couta[i] ;}coutendl;return a;
}
int main()
{int *p,i;pget_half();coutendl;for(i0;i10;i){cout*(pi) ;}coutendl;return 0;
}