c指针一直是我们感到头大的事下面是我总结的一些关于C 指针的知识点
int *p;
inta = 42;
p= &a;(p存放变量a的地址,或者说p是变量a的指针)
cout<<*p<<endl;由*得到指针所指的对象;
指针的指针
intival = 1024;
int*pi = &ival;//(指向一个int型的整数,将ival 的地址赋予pi指针变量)
int**ppi = π//(指向一个int型的指针,将指针变量pi 的地址赋予指针的指针ppi)
注:不能企图通过改变指针形参的值而使指针实参的值改变,例如以下代码
swap(int *p1,int *p2)
{int *p;
p=p1;p1=p2;p2=p;
}
main()
{int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a;pointer_2=&b;
if(a<b)swap(pointer_1,pointer_2);
printf("\n%d,%d\n",*pointer_1,*pointer_2);
}
但是不能实现第四步(d)
把数组的首地址赋予指向数组的指针变量
int a[5],*pa;
pa=a;
char *q;
q=”CLanguage”;
这里并不是把整个字符串装入指针变量,而是把存放该字符串的字符数组的首地址装入指针变量