指针

1、指针是变量,表现为什么?

(1)系统为指针分配内存空间;

(2)指针有自己的地址;

(3)指针能够存值,但这个值比较特殊——地址。

 

2、指针的类型和指针所指向的类型有什么区别?

从语法的角度看,只要把指针声明语句里的指针名字去掉,剩下的部分就是指针的类型,这是指针本身具有的类型。

从语法上看,只需把指针声明语句中的指针名字和名字左边的的指针声明符*”去掉,剩下的就是指针所指向的类型。

 

3、指针的算术运算有几种形式?进行运算时需要注意什么?

(1)形式1: 指针 +/- 整数

标准定义这种形式只能用于指向数组中某个元素的指针,这类表达式的结果类型也是指针;

(2)形式2: 指针 - 指针

只有当两个指针都指向同一个数组中的元素时,才允许从一个指针减去另一个指针。减法运算的值是两个指针在内存中的距离(以数组元素的长度为单位,而不是以字节为单位)。

 

4、最多可以使用几层指针包含几种意义?

(1)在说明一个指针时最多可以包含至少12层间接引用;

(2)最多可以使用2层指针而不会使程序难读;

(3)程序运行时最多可以有无限层指针。

 

5、常量指针和指针常量有什么区别?

常量指针,即指向一个常量的指针,指向的内容是常量,不可修改,放在常量区的,但指针本身可以修改;

指针常量,即指针本身是个常量,不可修改,但指针指向的内容可以修改。

 

6、指针常量是指指针本身不可变,而内容可以修改。需要注意的是什么?

(1)如果指针常量指向的是字符指针常量,那么当修改*P时,原则上能够修改,在编译时能通过,但在运行时不能通过,因为他试图去修改常量区的内容,显示是非法的;

(2)当指针常量指向一个另外一个指针时,当这个指针指向别的内容时,那么指针常量还是指向原来的内容。

 

7、空指针有几种用法?

(1)用空指针终止对递归数据结构的间接引用,递归是指一个事物由这个事物本身来定义;

(2)用空指针进行函数调用失败时的返回值;

(3)用空指针作警戒值。

 

8、sizeofstrlen的区别?

sizeofC语言中一个单目运算符,而strlen是一个函数,用来计算字符串的长度;

sizeof求的是数据类型所占空间大小,而strlen是求字符串的长度。

 

 

9、把函数的地址赋给函数指针,再通过函数指针调用这个函数的步骤是什么?

(1)定义函数指针;

(2)定义函数;

(3)把函数的地址赋给函数指针;

(4)通过函数指针去调用这个函数。

 

10、怎样用右左法则理解声明?

从变量名开始阅读声明,向右看,然后向左看。当你碰到一个括号时就调转阅读的方向。括号内所有的内容都分析完毕后就跳出括号的范围,直到整个声明都被分析完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值