C语言中数组和指针的联系

1、数组名和指针

int a[10];//数组名是a

在C语言中 a 有两个意思:

(1)代表整个数组

sizeof(a) ----> 40

typeof(a) ----> 求a的类型数组类型 int [10]

&a 数组a的地址

这三种情况 a 都是代表整个数组

(2)代表一个指针/地址

数组名可以看作是指向数组第0个元素的指针常量***

int * p = a;//a 代表的是 &a[0]

"指针常量"

任何的类型的数据都有变量和常量的区别

int b;// int 变量

10// int 常量

区别是什么:变量可改,常量不可改

指针也有常量与变量之分

int b;

int *p;// p 指针变量

int a[10];//a 指针常量

p = &b;//修改 p 的值,可以

a = &b;//修改 a 的值,不行,因为 a 只能作为指针常量用

例:

int a[10] = {1,2,3,4};// 初始化

int *p = a;

//1

int i;

for(i = 0;i < 10;i++)

{

printf("%d ",*(p+i));// a[i]

}

printf("\n");

//2

for(i = 0;i < 10;i++)

{

printf("%d ",*(a+i));

}

printf("\n");

//3

i = 0;

while(i < 10)

{

printf("%d ",*p);

p++;

i++;

}

printf("\n");

//4 有问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新棉衣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值