留言小本

留言小本

欢迎你给我们留言!

留言小本》的相关评论

  1. 为什么没有打赏赞助功能??找了半天都没找到,建议学一下王垠的博客www.yinwang.org弄个文章打赏功能,读者可以根据文章质量以及有用与否来自愿赞助。通过好文章可以学习到知识,而知识是有价值的,应该得到尊重。

  2. 《MYSQL性能优化的最佳20+条经验》第19条“选择正确的存储引擎”中有个错别字,“InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应用,它会比 MyISAM 还慢。他是它支持“行锁” ,于是在写操作比较多的时候,会更优秀。”中“他是它支持行锁”应该是“但是”吧。

  3. 博主,之前看了你的c指针和数组,想了很久还是不明白,因为那篇文章过去好久了,怕你看不到,所以就直接在留言在这请教了。
    #include
    struct str{
    int len;
    char s[0];
    };

    struct foo {
    struct str *a;
    };

    int main(int argc, char** argv) {
    struct foo f={0};
    if (f.a->s) {
    printf( f.a->s);
    }
    return 0;
    }
    我对您的博文是这样理解的:
    开始的时候foo f = {0},所以,f.a中存放的指针地址是0x0,然后访问f.a->s这一句话就在a指针所保存的地址上加上4的偏移量,因为前面有个int,这也是您修改后的printf会打印出4的原因。但是我还是不明白
    1.if为语句为什么不会segment fault,这个不是访问了不属于这个程序的地址空间吗?
    2.printf语句为什么会segment fault?这两句话不是一样的吗
    3.为什么加了%x后打印就正常了?
    我已经明白您要表达的数组a的数组名里存储的是数组自身的地址,而指针名保存的是它指向变量的地址,但是感觉还是不能解释这些问题,反而越想越混乱,不知道我是不是还有哪些基础没有掌握?

  4. 您好, 想通过RSS订阅您的网站, 但是点击RSS后报错, 希望有时间可以看一下, 谢谢.

  5. 希望皓叔可以多讲讲工业级软件系统和严谨的软件工程体系相关的内容, 感觉那才是软件工程该有的样子 :)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*