关于指针的一点问题
chara[20]="You_are_a_girl";int*ptr=(int*)a;ptr+=5;其中第二排表示什么意思?(int*)a和int*a是否有区别?...
char a[20]="You_are_a_girl";
int *ptr=(int *)a;
ptr+=5;
其中第二排表示什么意思?(int*)a和int*a是否有区别? 展开
int *ptr=(int *)a;
ptr+=5;
其中第二排表示什么意思?(int*)a和int*a是否有区别? 展开
1个回答
展开全部
(int*)a表示将a强制转换为一个int*类型的指针。int* a表示定义一个int*类型的变量a。
追问
char a[20]="You_are_a_girl";
int *ptr=(int *)a;
ptr+=5;
这其中int *ptr=(int *)a;的意思就是把指向字符串的指针改为指向强制转换为整型的数组a的指针?
追答
是强制转换a得到一个(int*)的指针,然后将这个指针的值赋给int*指针ptr。
a的类型在此操作后并没有改变,仍为char* const型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询