指针篇

C++面试参考1
·指针篇

1.写一个数组指针与指针数组,并说出齐区别。

2.函数指针与指针函数的区别。

3.指针与引用的区别和相同点。

4.指针的&和*

5.函数的传值和传值区别

6.理解一个指针的指针和一个指向数组指针的指针

7.空指针能赋值吗?

8.”()”,”[]”,”*”的优先级。

9.理解数组指针和指针数组的内存分布。

10.给出结果:

struct Test
{
   int Num;
   char *pcName;
   short sDate;
   char cha[2];
   short sBa[4];
}*p;
p + 0x1 = 0x___ ?
(unsigned long)p + 0x1 = 0x___?
(unsigned int*)p + 0x1 = 0x___?

11.写出一个野指针
由于free(),是把指针所指向的内存地址位置的一块内存上面的数据释放了,但是指针中的值还是指向该内存块首地址,这样就导致在if语句中判断是不等于NULL是合法的,所以任然可以使用

    char* str_1 = (char*)malloc(100);
    strcpy(str_1,"hello");
    free(str_1);
    if(str_1 != NULL) {
        //指针指向的内存上面的值已经被清除
        printf(" >>>> strr = [%s]\n",str_1);
        strcpy(str_1,"world");
        printf(" >>>> strr = [%s]\n",str_1);
    }
结果:

 >>>> strr = [葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺葺]
 >>>> strr = [world]

12.int i=10, j=10, k=3; k*=i+j; k最后的值是?

答:60,此题考察优先级,实际写成: k*=(i+j);,赋值运算符优先级最低

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值