回复 楼主 闹闹儿
有点看不懂你的意思,但是我估摸着给你说说,我也是新手,不知道对不对
#include<stdio.h>
main()
{
char *str = "2,3,5,7,11,13";//定义一个字符串指针
int prim[] = {2,3,5,7,11,13};//定义一个一维数组
char *ptr1 = str;//定义一个指针,赋值为str指针的地址
int *ptr2 = &prim[1];//定义一个指针,赋值为数组prim第二个元素的地址
char *ptr3 = str + prim[5];//定义一个指针,赋值为指针str的指针变量(地址)与数组prim第五个元素(5)的值的和
printf("%c\n", str[6]);//输出指针数组第七个字符的值,7
printf("%p\n", *ptr3);//输出指针所对应的值,因为他的两个参数类型不同,输出结果也不同,这里得00000000
printf("%c\n", *(ptr1+4));//输出指针ptr1后面四个位置的值,也就str字符的第五个字符,5
printf("%p\n",&prim[1]);//得出prim[1]的地址即ptr2指针
printf("%p\n", ptr2[2]);//输出ptr2指针变量的第二个地址位
printf("%p\n", *((ptr1+3) + *ptr2));//str字符的第4个字符","的地址和数组prim第二个元素的地址的和
if(prim[3] == str[3])//一个是数值,一个是地址,没有可比性,所以输出no!
printf("yes!\n");
else
printf("no!\n");
}