关于指针的一点问题

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是否有区别?
展开
 我来答
GTA小鸡
高粉答主

2018-03-08 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
(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型。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式