初识C语言——什么是指针?

指针是什么?

1.指针是内存中一个最小单元的编号,也就是地址(指针就是地址);

2.指针和指针变量的区别:一个变量如果用来存放另一个变量的地址(既存放变量的指针),则称该变量为指针变量;一般我们口头说的指针指的是指针变量;

内存就可以这么理解:

 指针就是用来指向内存的某一个空间。

注意:对于32位机器,假设有32根地址线,那么每根地址线在寻址的时候产生高电平(高电压)和低电平(低电压)就是(1或者0);那么32根地址线产生的地址就会是:

 这里就有2^32个地址。内存空间的编号其实就是二进制数,但是因为二进制太长,所以我们化成了十六进制的数。

         就像大学上课一样,我们需要到指定的教室去上课。手里拿着课程表,上面会有这节课要到的教室的门牌号(像是指针)。然后我们上课的时候需要根据课程表中的门牌号找到要上课的教室,教室上的门牌号就是这个教室的地址(像是地址)。

这样我们上课就会很有秩序,程序也是类似的。 

 那么C语言中如何声明指针的呢?

声明指针变量的一般形式为:

        类型说明符(指针类型)* 指针名;

例如:

        int* p;——声明指向整型变量的指针变量p;

        char* q;——声明指向字符变量的指针变量q;

注意:一般我们声明一个指针的时候,需要把它初始化(就是给上一个你想要用它存放的元素的地址),否则会很危险。

       当我们想把某个变量的地址放在指针变量里面的时候,只需在变量名前面加上&;例如:我们定义一个名叫a的变量,要将a这个变量放在名叫pa的指针变量里面,就这么写:

int a;
int* pa=&a;

        当我们想存放一个数组的首元素的地址时,应该写成:

int arr[10]={0};
int* p=arr;

这时就不需要&符号了,因为数组名就是首元素的地址;

        但是我们想要存放数除首元素的其他元素地址时,就需要&符号,例如:

int arr[10]={0};
int* p=&arr[3];

       这里我们举的例子都是指针类型和变量的类型一致的,其实指针的类型不一定和你想要存放的变量的类型一样,也就是说,指针类型的选取是由我们自己想用那种类型决定的,指针选用不同的类型,它的效果是不一样的。

      相信了解到这里,大家对指针也有了初步的了解了吧!如果感觉对你有帮助,留个关注加点赞吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值