#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int a;//a为整型(int ) int *b=4,*e=5; int *p=NULL;//p为指针类型(int *) char *c="ab",*d; d=c; printf("p=%d\n",(int)p); a=10; p=&a; printf("b=%d,e=%d,&b=%d,&e=%d\n",b,e,&b,&e); printf("a=%d,p=%d,*p=%d,&p=%d\n",a,(int)p,*p,(int)&p); printf("*d++=%c\n",*d++); printf("%c\n",*d); return 0; } 注意点:指针直接初始化的时候和不用指针是一样的效果,因为没有再间接去引用某个数而是直接存储在某个物理地址中,指针也是直接引用的该地址的值,没有间接引用的效果,但是指针可以变,也就是引用的地址可以变,这样就改变了指向后的值。 运行结果: |
|
来自: champion_xu > 《指针》