C语言学习趣事_经典面试题系列

 上次说了一些有意思的面试题, 今天我们结着看看一些关于指针和sizeof的面试题:

下面是我看到的一些面试题

1、简述   

char * const p;
        char const *p;
        const  char *p;

  之间的区别。

   首先讨论:
              char  * const p;   这里可以知道const修饰是指针变量p; 因此指针p的指向不能改变,这样的变量定义必须首先初始化,否则将不能编译通过。但是p指向的变量的存储内容可以改变。

如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号【筑梦编程】,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!
 

Exp:

     char chTest1;
                      char chTest2;
                      char  * const p=&chTest1;
                      // p=&chTest2;   这个地方是错误的,不能这样赋值
                     *p=‘c’;
                     chTest1=‘b’;

   接下来讨论:
              char const *p;     这里可以知道const修饰的是*p; 因此可以知道不能通过*p指向来改变变量的值; 但是指针p的指向可以改变,而且可以通过原变量进行改变值。
            

Exp:

                    char chTest1;
                    char chTest2;
                    char const *p=&chTest1;
                    p=&chTest2;
                    chTest=‘a’;

这里可以知道: 

1)p的指向可以改变
2)不能通过*p= 某个值进行赋值
3)指针指向的变量的值自己可以改变。
    
最后讨论:

const char  *p=&chTest1; 

这里可以知道const修饰的是*

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值