呵呵,最近有点忙啊…把C放了一段时间,今天抽空看了下指针…唉,刚学啊…
把今天学的和大家分享一下…
下面一段程序类容丰富啊,大家读读看,读出了的有时间发表交流下哈…
int a=2,*p=&a,*q=&a; //int,定义的变量占2个字节
printf(“%d,%d\n”,*p++,*(p++)); //*p++,先取内容,再++ *(p++),是变量的地址++(即地址加2)
p=&a; q=&a; //重新指向a的地址
printf(“%d,%d\n”,*p, (*q)++); // (*q)++,a的内容++
一点小结:
等价关系
int a=5,*p=&a;
&*p~~&a~~p
*&a~~a
(*p)++~~a++
*(p++)~~*p++
再来一个吧
#include<stdio.h>
viod main()
{
int a,b,c;
int *pa,*pb,*pc;
pa=&a;pb=&b;pc=&c;
scanf("%d,%d"pa,pb);
printf("a=%d,b=%d\n",*pa,*pb);
c=a+b; printf("c=%d\n",*pc);
*pc=a+*pb; printf("c=%d\n",c);
c=*pa**pb; printf("c=%d\n",c);
c=++*pa+(*pb)++; printf("c=%d\n",*pc);
c+(*pa)+++*pb; printf("c=%d\n",c);
printf("a=%d,b=%d\n",a,b); //这句要注意了哦…
}
哈哈,初学指针的同学读读吧,都搞懂了可以学到不少东西的…