#include <stdio.h>
main()
{
char a[]="hellofg",*p=a;
printf("%c\n",*p+5) ;//*p得到指针指的字符,+5是字符ASCII码加5 ,结果为m
printf("%c\n",*(p+5)) ;//h:p+0 e:p+1....f:p+5
getchar();
}
#include <stdio.h>
main()
{
int a=10;
printf("%d\n",&a) ;
int *p;
//*p=10;//指针变量没有赋值,直接将常数赋值给这个指针变量是不允许的,因为 指针变量并没有地址,并没有值
p=&a;
printf("%d\n",*p);
getchar();
}
#include <stdio.h>
main()
{
int i,j=2,*p=&i;
*p=*&j;//&j得到j的地址,*地址:取地址中的值
//将得到的值赋值给变量i的指针即:i=j;
printf("%d %d",i,j);
getchar();
}
#include <stdio.h>
main()
{
int a[]={2,3,7,8,9,12,16};
int y=0,x,*p;
p=&a[0];
for(x=0;x<7;x++)
{
if(*(p++)%2)
{
printf("%3d",*p);
continue;
}
y+=*(p+x);
printf("\n%d\n",y);
}
printf("%3d\n",y);
getchar();
}
1.int a[]={1,2,3};
int *p; 声明整型指针变量
p=a;将数组首地址赋值给指针变量
*p:取当前指针所 指的 下标变量的值
2. c语言中%*1d表示忽略第1个整数
%*3d表示忽略连续3个整数
#include <stdio.h>
#include <stdlib.h>
main()
{
int m=7,n=8,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf("%d %d %d %d",m,n,*p,*q);
getchar();
}
![]()