首页 > 其他分享 >Const 关键字 与指针

Const 关键字 与指针

时间:2023-06-21 11:44:21浏览次数:42  
标签:const 常量 对象 char 关键字 Const 指针

Const 关键字 与指针

发表于2007年04月29日不及格的程序员-八神 星期一 天气:晴   使用指针 会涉及到两个对象 一个是指针本身,另一个是它指向的对象. 将指针声明为 const 就使对象为常量而不是指针为常量; 例如: const char* p = "asdf"; //指向常量的指针 p[2] = ‘d’;  // wrong p = "defc"; //right   要把指针本身而不是它指向的对象声明为常,要运用 运算符 *const  char *const p = "asdf"; //常量指针 p[2] = ‘d’;  // 正确 p = "defc"; //错误   要使两个对象都是常量,二者都要声明为const; const char *const p = "asdf"; //指向常量的常指针 p[2] = ‘d’;  // wrong p = "defc"; //wrong   一对象当通过一个指针访问是常量,而用其它方法访问时可能是变量,这对于函数参数特别有用. 声明为一个const的指针参数,就禁止函数修改参数批向的对象. char* strcpy (char* p, const char* q); //不能修改*q

标签:const,常量,对象,char,关键字,Const,指针
From: https://www.cnblogs.com/ioriwellings/p/17495879.html

相关文章

  • 精通c语言中的指针(精通c指针1)
    之前学c语言的时候,指针这一章学的半吊子,似是而非,最近经过学习,对指针有个更加深刻的理解。如果之前学过c指针,并且可以使用指针随心所欲操作内存中的任何数据,那么说明指针学好了,否则就是半吊子。如果之前学过指针,那最好忘记之前学过的所有概念,把指针当做一种新的类型来学习。这种......
  • Rust语言 - 接口设计的建议之受约束(Constrained)
    Rust语言-接口设计的建议之受约束(Constrained)RustAPI指南GitHub:https://github.com/rust-lang/api-guidelinesRustAPI指南中文:https://rust-chinese-translation.github.io/api-guidelines/RustAPI指南:https://rust-lang.github.io/api-guidelines/受约束(Constrai......
  • AtCoder Regular Contest 162 E Strange Constraints
    洛谷传送门AtCoder传送门完全没有思路。但是其实不难的。设\(d_i\)为\(i\)在\(B\)中的出现次数,题目要求:\(\foralli\in[1,n],d_i\leA_i\);对于位置\(i\),\(d_j\leA_i\)的数\(j\)可以被放到\(B_i\)。考虑按照\(d_i\)从大到小dp。设\(f_{i,j,k}\)......
  • C++ 智能指针
    unique_ptrunique_ptr为了避免重复释放(doublefree)问题出现,进行拷贝(删除了拷贝构造函数)这样的特性带来的问题是无法进行参数传递(因为参数传递需要拷贝构造函数),有两种解决方法想要解决这个问题,首先需要理解为什么unique_ptr会禁止拷贝,对一个指针进行拷贝......
  • C语言-指针进阶详解(万字解析)
    前言本篇内容主要针对指针的进阶详解,如果不懂指针的含义要自行去看书看视频了解一下。指针指针是个特殊的变量,其功能就是来存放地址,地址唯一标识一块内存空间。指针的大小有两种一种是32位操作系统下的4个字节,一种是64位操作系统的8个字节。同时指针是有类型的,不同的类型决定了指针......
  • C++指针
     #include<iostream>usingnamespacestd;//指针 if(1) { inta=10; intb=20; constint*pi=&a; pi=&b; //const指针可以修改指针,不能修改指向的数据 //*pi=25; //错误表达式必须是可修改的左值 cout<<*pi<<endl; }......
  • C++ 关键字四种cast类型转换
    1.23四种cast类型转换作用:克服c中强制类型转化带来的风险,C++引入四种更加安全的强制类型转换运算符(明确转换的目的,偏于程序的维护和分析)const_cast://1.去除const属性,将只读变为只读写//2.针对常量指针、常量引用和常量对象constchar*p;char*p1=const_cast<char*>(p......
  • C++面试八股文:什么是智能指针?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第19面:面试官:什么是智能指针?二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请、释放资源,所以称为智能指针。面试官:C++11引入了哪些智能指针?二师兄:三种,分别是shared_ptr、unique_ptr、和weak_ptr。......
  • C++面试八股文:什么是智能指针?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第19面:面试官:什么是智能指针?二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请、释放资源,所以称为智能指针。面试官:C++11引入了哪些智能指针?二师兄:三种,分别是shared_ptr、unique_ptr、和weak_ptr。......
  • 前端学习C语言 - 函数和关键字
    函数和关键字本篇主要介绍:自定义函数、宏函数、字符串处理函数和关键字。自定义函数基本用法实现一个add()函数。请看示例:#include<stdio.h>//自定义函数,用于计算两个整数的和intadd(inta,intb){//a,b叫形参intsum=a+b;returnsum;}intma......