基础C语言

本文详细介绍了C++中的指针概念,包括指针的类型、指针所指向的类型、指针的值以及指针本身所占据的内存区。指针是一个存储内存地址的特殊变量,其类型由声明决定,如int*、char*等。指针所指向的类型则是去掉指针声明符后的类型,如int、char等。指针的值即内存地址,而指针本身在32位系统中通常占用4个字节,在64位系统中则为8个字节。

1指针概念

指针就是地址,是内存中一个最小单元的编号

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。

    1. 指针的类型:

把指针声明语句里的指针名字(变量名)去掉,剩下的部分就是这个指针的类型。

1: int *pr //指针的类型是int*

  Char *pr; //指针类型是char

  Int **pr //指针类型是int**

  int(*pr)[3] //指针类型是int(*)[3]

  int*(*pr)[4] //指针类型是int*(*)[4]

    1. 指针所指向的类型:

你只须把指针声明语句中的指针名字和名字左边的指针声明符*(*和变量名)去掉,剩下的就是指针所指向的类型。

int*p; //指针所指向的类型是int
char*p; //指针所指向的的类型是char
int**p; //指针所指向的的类型是int*
int(*p)[3]; //指针所指向的的类型是int()[3]
int*(*p)[4]; //指针所指向的的类型是int*()[4]

1.3指针的值

指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在32 位程序里,所有类型的指针的值都是一个32 位整数,因为32 位程序里内存地址全都是32 位长。指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类型)的一片内存区。(32os中指针内存为4字节,64os中指针内存为8字节)。

1.4指针本身所占据的内存区

指针本身占了多大的内存?你只要用函数sizeof(指针的类型)测一下就知道了。在32 位平台里,指针本身占据了4 个字节的长度,在64为平台里,指针本身占据了8个字节长度。(指针的大小只与平台有关)

 

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值