鱼C论坛

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

[技术交流] 小甲鱼,带你学C带你飞

[复制链接]
发表于 2020-2-2 23:08:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这两种在小甲鱼<带你学C带你飞>,数组指针练习时,还不是不明白,上面打印取值运算符时实际变量值,但是数组指针带不带取值运算符显示都是地址?

指针:
数组指针:
#include <stdio.h>   
int main
{  
    int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int *p = &array;

    printf("p ->%p\n",p);
    printf("*p ->%d\n",*p);

    return 0;
}


数组指针:
#include <stdio.h>   
int main
{  
    int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int (*p)[10] = &array;

    printf("p ->%p\n",p);
    printf("*p ->%p\n",*p);

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-3 12:39:22 | 显示全部楼层
数组名本身就是数组首地址,因此
int *p = &array; 这句是不对的
int *p = array 或者 int *p = &array[0]  这样才对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-3 13:26:31 | 显示全部楼层
chxchxkkk 发表于 2020-2-3 12:39
数组名本身就是数组首地址,因此
int *p = &array; 这句是不对的
int *p = array 或者 int *p = &array[0 ...

是的,复制的时候笔误,指针那里应该是不加取地址运算符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 04:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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