#include<iostream>
using namespace std;
int main()
{
int i=100;// 设其地址为4009
int *p=&i;// 此时*为说明符 说明p为指针变量
cout<<p<<endl; //随机给变量i一个地址值
cout<<*p<<endl;//*为指针运算符 求地址中的内容
return 0;
}
int a[10] ; int *p; p=&a[0]//指针变量p指向a数据的第一个元素
a[i]=*(a+i) a[i][j]=*(a+i)[j] a[i][j]=*(*(a+i)+j) 对于二维数组a[m][n] 第i行第j列 a[i-1][j-1]=*(&a[0][0]+n(i-1)+j-1)
#include<iostream>
using namespace std;
int main()
{
char a1[30],a2[10],*p1,*p2;
p1=a1;p2=a2;
gets(a1);
gets(a2);
while(*p1!=‘\0‘)//通过指针变量p1循环到字符不等于\0的字符
p1++;
while(*p2!=‘\0‘)
*p1++=*p2++;
*p1=‘\0‘;
puts(a1);
return 0;
}
#include<iostream>
using namespace std;
int fun(int i,int j);
int main()
{
int i,j,k;
i=10;j=30;
int (*pfun)(int i,int j); //函数指针 函数名由指针组成
pfun=fun;//函数名的值等于该函数的地址值
k=(*pfun)(i,j);//求pfun存放地址中的内容 =fun(i,j);
cout<<k<<endl;
return 0;
}
int fun(int i,int j)
{
return (i+j)/2;
}
原文:https://www.cnblogs.com/binglingtime/p/12594442.html