美文网首页
[C指针]双重指针:指向 指针变量 的 指针变量

[C指针]双重指针:指向 指针变量 的 指针变量

作者: AkuRinbu | 来源:发表于2019-04-06 15:23 被阅读0次
    双重指针
    #include <stdio.h>
    
    int main()
    {
        printf("---- const char* pi = \"hi\"; ----\n");
        const char* pi = "hi";
        printf("pi use %%s: %s \n", pi);
        printf("pi use %%p: 0x:%p\n", pi);
    
        printf("\n");
        const char* ci[] = { "hello","world","good","day" };
        const char** welcome[2];
    
        welcome[0] = &ci[2];
        pi = ci[2];
    
        printf("---- pi = ci[2]; ----\n");
        printf("*welcome[0] use %%s : %s\n", *welcome[0]);
        printf("*welcome[0] use %%p : 0x%p\n", *welcome[0]);
        printf("ci[2] use %%s : %s\n", ci[2]);
        printf("ci[2] use %%p : 0x%p\n", ci[2]);
        printf("pi use %%s : %s\n", pi);
        printf("pi use %%p : 0x%p\n", pi);
    
        return 0;
    }
    
    • const char* ci[ ] 意味着 ci[0]ci[1]ci[2]ci[3] 都是指针变量,都是指向字符变量的指针变量;
    • const char** welcome[ ],意味着 welcome[0]welcome[1] 都是指针变量,都是指向 指针变量 的指针变量;

    怎么给 welcome[0] 赋值呢?

    • 找到一个指针变量,比如 ci[2]
    • 算出这个指针变量本身在内存的地址,用 &ci[2]
    • 把这个内存地址赋值给 welcome[0]

    参考资料

    相关文章

      网友评论

          本文标题:[C指针]双重指针:指向 指针变量 的 指针变量

          本文链接:https://www.haomeiwen.com/subject/rqmriqtx.html