const修饰指针
关于const修饰指针的情况,一般分为如下4种情况:
int b =;
const int *a =&b; //情况1
int const *a =&b; //情况2
int* const a =&b; //情况3
const int* const a =&b; //情况4
如何区别呢?
如果const 位于星号的左侧,则const 就是用来修饰指针所指向的变量,即指针指向为常量;
如果const 位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
1.情况1和2相同,都是指针所指向的内容为常量,这种情况下不允许对内容进行更改操作。
例如
int b =;
const int *a =&b; //情况1
*a =; //错误
但也有别的办法改变*a的值,一个是通过改变b的值,另一个是使a指向别处 a = &c 。
对于情况1和2,可以不进行初始化。因为虽然指针内容是常量,但指针本身不是常量。
2.情况3 为指针本身是常量,不能对指针本身进行更改操作,而指针所指向的内容不是常量。
因此,定义时必须同时初始化。
3.情况4 为指针本身和指向的内容均为常量。
const修饰指针的更多相关文章
- C语言--const修饰指针解析
这种例子在我们平时编程时可能会很少用,但是在面试时被问的可能性就很大了. 用const修饰指针,常见的情况可以分为四种: 1.const int *p; // p 可变,p 指向的对象不可 ...
- const修饰指针+volatile +restrict
const这块的难点 const修饰指针有以下的几种形式 ,不同的形式 它的意义不一样. 形式1: int a=23: const int *p=&a: a是int型,&a是int * ...
- 关于const修饰指针
const修饰指针,一般分为如下四种情况: int b = 500; const int *a = &b; //情况1 int const *a = &b // 2 ...
- C++ --const修饰指针
const修饰指针 1.const修饰指针 (常量指针)常量的指针 const int *p = &a; const修饰的是*p(表示内容为常量),不是p(指针) 指针指向的地址可以改,但指针 ...
- C++中使用const修饰指针
在本文中呢,主要讲解四个方面,即:常量数据的与否和常量指针的与否中const如何对指针进行修饰: 1.指向非常量数据的常量指针 对于一个指向非常量数据的常量指针,我们应该清楚的知道,在这我们注重的是指 ...
- const修饰指针的三种效果
当用const进行修饰时,根据const位置的不同有三种不同效果. 判断的标准是:const修饰谁,谁的内容就是不可变的. 1 const int *p = &a; const修饰*p, *p ...
- const修饰指针时应注意的问题
1.指向常量的指针 顾名思义,一个指针指向const对象,则称它为指向常量的指针. ; int* ptr=&a; //错误 const int* ptr=&a; //必须用const来 ...
- C++中const修饰基本数据类型、指针、引用、对象
const修饰基本数据类型 #include <iostream> using namespace std; void main(){ const int a = 1; const cha ...
- C++中的const和指针组合
在C++里,const修饰指针有以下三种情况 (1)指针常量:即指向常量的指针 const int *p或者int const *p const在*前,,可以这样理解它的功能,因为const在*前, ...
随机推荐
- thinkphp隐藏中url的index.php
在本地进行测试 1.修改apache配置文件将如下代码#去掉 #LoadModule rewrite_module modules/mod_rewrite.so 在index.php 目录下新建文 ...
- 解决maven项目将model version改成3.0版本问题
找到项目目录,找到.setting文件 找到org.eclipse.wst.common.project.facet.core.xml文件 修改如下标签 <installed facet=&qu ...
- web打印
实现方法 引用jquery和,jqprint到您的页面 <script language="javascript" src="jquery-1.4.4.min.js ...
- Win8.1系统下搭建IIS8.5+php-5.6运行环境教程
本文是在window 8.1 的IIS8.5 中搭建php环境 步骤: 1.下载php-5.6程序包 ,官网地址为:http://windows.php.net/download/ 注意要下载 ...
- HDU 5670 Machine
Machine Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- SqlSever基础 一个条件group by 一列有两个内容,分组并查看每个内容有多少行,并用as起名
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- ASP.NET简单登录注册实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- uTenux——HelloWord
由以上几节的学习,我们从这一节开始真正的以实例讲解uTenux\AT91SAM3S4C开发套件的应用.如其他的软件程序开发一样,uTenux\AT91SAM3S的学习我们也要从第一个程序代码-Hell ...
- 【leetcode❤python】263. Ugly Number
class Solution(object): def isUgly(self, num): if num<=0:return False comlist=[2 ...
- CSS3弹力球
如下代码实现方块在限定区域内不停弹跳. <!DOCTYPE html> <html> <head> <style> div { width:100px; ...