攀登者plus 2021-05-24 17:33 采纳率: 0%
浏览 27

假设char * abc = *****;那么abc[0]的数据类型是什么

如题所示  今天突然遇到这个问题 只能用printf("%d",abc[0]);打印

这说明他是一个int类型的数据吗

但是想不通啊

请各位老师赐教

谢谢!

  • 写回答

3条回答 默认 最新

  • 关注

    char  *abc = "China";

    C语言中编译器会给字符串常量分配地址,如果 "China", 存储在内存中的 0x3000 0x3001 0x3002 0x3003 0x3004 0x3005 。其实真正的意义是 abc ="China" = 0x3000;你把China 看作是字符串,但是编译器把它看作是地址 0x3000,即字符串常量的本质表现是代表它的第一个字符的地址,abc = 0x3000。

    评论

报告相同问题?