Const指针 、 指向const的指针 、引用、指针
1. const指针和 指向const的指针
指向const的指针: 不允许通过指针来改变其指向的const值
const double *cptr
*cptr = 42; // error! 指针代表的值无法修改
const double pi =3.14
double *ptr = &pi //error ! 无法将指向const的指针赋值给非非const指针;
const double *cptr = &pi //ok
const 指针:本身值无法修改,即指针指向的地址无法修改
int num = 0;
int *const cur = &num ;// 错误
2.数组的引用做参数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun( unsigned char* const &a )
{
memset(a , 5,5 );
}
int main()
{
unsigned char a[5];
fun(a );
return 0;
}
3. 不能将指向const的指针的指针转换为指针
const char * 转 char*
指向const的指针不能被赋给指向非const的指针,所以应该用strcpy,也就是另开一块内存,把字符一个个复制过去,示例如下: const char *expr = "goodidea"; char *buf = new char[strlen(expr)+1]; strcpy(buf, expr);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】