鱼C论坛

 找回密码
 立即注册
查看: 3764|回复: 2

谁能解释一下这个调试重的情况?

[复制链接]
发表于 2013-7-23 10:06:11 | 显示全部楼层 |阅读模式
1鱼币
先上源码
#include<stdio.h>
int main()
{   
    int i;
    char *z[]=
        {
          "China",
          "Japan",
          "Russia",
          "Germany",
          "Switzerland"
        };
       
        for(i=0;i<5;i++)
                printf("%s\n",z[i]);
        return 0;
}
之后我在调试里面这样一下。。

就是这个

就是这个

希望大家可以解释一下 '值' 的z烂是什么意思。。

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-23 12:36:18 | 显示全部楼层
名称栏为“&z[i][j]”,值栏先后分别为:z[i][j]的地址及以该地址为首地址存放的字符串值;
如&z[0][4],值一栏分别是是z[0][4]的地址0x00422048和字符串为“a"
最后为啥要把&z[0]扒出来?
名称栏为&z[0],表示z[0]的地址,即0x0012ff68。而z[0]本身存放的是首字符串的首地址即0x00422044,在内存中存储由低到高分别为44、20、42、00,ASCII对应的字符为D、空格、B、空字符。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-23 23:21:34 | 显示全部楼层

非常感谢,,明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-18 16:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表