wow7jiao 发表于 2018-6-25 19:54:18

请老师指点,二维数组名解引用

本帖最后由 wow7jiao 于 2018-6-25 19:56 编辑

#include <stdio.h>

int main()
{
        int array = {0};
        int i, j, k = 0;

        for (i = 0; i < 4; i++)
        {
                for (j = 0; j < 5; j++)
                {
                        array = k++;
                }
        }

        printf("*(array+1): %p\n", *(array + 1));//这里小甲鱼C语言课件的代码




        printf("*(array+1): %p\n", (array + 1));//请问和上面有什么区别,打印结果一样
        return 0;
}

yangchenkang 发表于 2018-6-25 19:54:19

array+1是取数组第二列地址   *(array+1)是取第二列第一个元素地址,结果是一样的,但是意思不同,不知道你能不能听懂{:9_241:}

wow7jiao 发表于 2018-6-25 19:59:44

这是反汇编截图

人造人 发表于 2018-6-25 20:28:00

wow7jiao 发表于 2018-6-25 21:34:55

本帖最后由 wow7jiao 于 2018-6-25 21:37 编辑

人造人 发表于 2018-6-25 20:28


上面的代不是写错了,其实是array     ,被自动屏蔽了。打不出来 【i】
页: [1]
查看完整版本: 请老师指点,二维数组名解引用