#include <iostream>
#include <exception>
using namespace std;
int main()
{
//数组1
char str1[] = "我是一个可变数组";//数组的内容可以修改
cout << "初始化的字符str1:" << str1 << endl;
cin >> str1;
cout << "str1改变后:" << str1 << endl;
//数2组
char str2[100];//数组的内容可以修改
cout << "系统自动初始化的字符str2:" << str2 << endl;
cin >> str2;
cout << "str2改变后:" << str2 << endl;
//数组1
const char str3[] = "我是一个不可变数组";//数组的内容不可以修改,
cout << "str3改变前:" << str3 << endl;
//cin >> str3;//有const显示声明,编译不通过
cout << "str3改变后:" << str3 << endl;
//2
char *str4 = new char[100];//指针定义方式一,指针变量
cout << "系统自动初始化的字符str4:" << str4 << endl;
cin >> str4;
cout << "str4改变后:" << str4 << endl;
char *const_str = "我编译完成后是一个字符串常量";//指针定义方式二,其实这个指针是const的,常量不可以修改,相当于下面这句char const *const_str = "" 是一个常量指针
//char const *const_str = "我编译完成后是一个字符串常量";
cout << "const_str改变前:" << const_str << endl;
const_str = str4;//可以修改指针 不能修改常量
try
{
//throw "sorry const_str非显示的一个常量指针,编译可以通过,但运行cin修改常量引起崩溃";
cin >> const_str;//因为是非显示的,编译可以通过,但运行cin修改常量引起崩溃
}
catch (char *c )
{
cout << "输入错误 "<<c << endl;
}
cout << "改变后:" << const_str << endl;
system("pause");
return 0;
}
相关推荐
DDR核心机制解析:从Burst到Prefetch的性能跃迁
本文深入解析了DDR内存性能跃迁的核心机制,重点阐述了Burst(突发传输)与Prefetch(预取)技术的协同工作原理。Burst机制通过连续传输数据减少访问延迟,而Prefetch则通过内部预取数据提升吞吐量,两者结合完美匹配现代CPU缓存行需求,是DDR3等内存实现高效带宽的关键。
C++ 获取数组和指针(所指字符串)的长度
C++ 获取数组和指针(所指字符串)的长度 #include <iostream> #include <string.h> using namespace std; void getPointerLen(char *str) { int len = strlen(str); cout << len << endl; } void ...
记录一次PowerJob使用达梦数据库的配置
记录一次PowerJob使用达梦数据库的配置
C++函数指针
首先,指针存的是内存地址。有指针类型的区分就是限制在这个内存地址能进行什么操作。比如int *的指针就用int限定了这个内存开始存的一个int数据。操作范围也是int数据的大小。函数指针再结合函数的申明就可以指定在该函数的内存地址上可以怎么执行方法喽。C#的委托也是这个意思,封装层面高一些。 指针能干什么 1.用变量传递函数? 2.模块互操作? 3.通过内存地址和方法约定驱动方法? 指针练习部分 #include "MainUtil.h" //得到两个字符串的总长度 string StrTotalLen(
50、压电微泵与技术设备驱动的研究分析
本文研究了压电微泵在弹性微通道中的流体流动特性及技术设备驱动的振动行为。通过建立轴对称流固耦合模型,利用FreeFem++进行数值模拟,分析了不同数量压电致动器和频率对微泵流量的影响,发现多个致动器按特定时序压缩可产生净正向流量,并提出了稳态流量的近似解析公式。同时,针对技术设备驱动系统,探讨了周期性负载引起的强迫振动特性,明确了共振条件及影响因素,并比较了主动、被动和优化设计等振动控制策略。最后展望了实验验证、多物理场耦合与智能控制等未来研究方向,为相关设备的优化设计与高效运行提供了理论支持。
GEE:使用 CCDC 算法进行连续变化检测和分类
连续变化检测和分类(CCDC)算法是一种广泛应用于遥感数据分析的方法,可以用于检测土地覆盖变化、农作物生长状态的变化以及水资源的变化等。Google Earth Engine是一个强大的云端平台,提供了丰富的遥感数据和工具,可以用于执行各种类型的遥感数据分析。本文将介绍如何使用Google Earth Engine的CCDC算法进行连续变化检测和分类。
c++ sizeof分别获取指针、引用、数组的长度
char* p = new char[500]; char& a = *p; int l1 = sizeof(p); //4 int l2 = sizeof(a); //1 int l3 = sizeof(*p); //1 int l4 = strlen(p); //不固定 到'\0'为止 ZeroMemory(p, 500); // int l5 = strlen(p); //0 char p2...
uniapp - 微信授权登录报错 errMsg“:“login:fail send“ | “code“:-100 | “innerCode“:-6,解决uni-app调用微信登录时没有响应且返回错误
uni-app,微信登录,微信登录报错,微信小程序,支付宝小程序,安卓app,苹果ios,nvue,H5网页网站,uniapp苹果安卓app,微信授权登录,uniAppAPP端微信登录报错,微信确认登录界面后点击登录报错,"errMsg":"login:failsend","errCode":-100,"code":-100,"innerCode":-6,都配置好了还是报错怎么办,uniapp微信授权登录报错,UniApph5对接微信登录出现错误,appid,应用签名,微信登陆,code:-100
C/C++ 如何检测内存泄漏和野指针问题
就是加一行:CXXFLAG += -fno-omit-frame-pointer -fsanitize=address。在编译选项中带编译参数:-fno-omit-frame-pointer -fsanitize=address。如果想看内存泄漏问题,则需要手动终止进程(要先运行具体的场景)如果出现野指针,则会终止进程自动输出错误日志到终端上。杀掉旧的进程 重新手动执行加入编译选项的可执行文件。重新编译生成可执行文件后删除旧的可执行文件。使用gcc g++的机制。
黑猫带你学eMMC协议第22篇:emmc可靠写详解(Write Reliability)
1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有部分错误请留言。 本文部分内容可能源自网络,侵删。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 内容提要 1、什么是可靠性写属性(Write Reliability)? 2、可靠写和普通的写有什么区别? 3、设置可靠写的流程及流程框图。 4、可靠写需要遵循哪些规则? 1.3 参考链接 本文主要参考链接:http://www.up48.com/cn/support/8_37.html 2 什么
机器人中的数值优化(十五)——PHR增广拉格朗日乘子法
本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例
C++指针的长度
C++指针的长度 每台计算机都有字长,指明指针数据的标称大小----来自深入理解计算机系统 每台计算机的字长指明了它的虚拟空间大小.比如32位的机器,虚拟空间地址为0~2^w-1程序最多访问2^w个字节 对于32位程序和64位程序的区别在于如何编译. gcc -m32 编译成32位程序 gcc -m64 编译成64位程序. 对于32位...
机床上位机实战:CNC设备数据采集+工艺参数存储全流程(附C#代码+SQL设计)
如果能正常输出转速和状态,说明通信通了——这步是基础,没通的话别往下走,先查CNC的IP对不对、Modbus功能有没有开、地址是不是错了(我当初卡了2小时,发现是Fanuc的Modbus从站地址设成了2,不是默认1)。这篇文章就把整个开发过程拆透:从CNC通信协议选型,到数据采集代码落地,再到工艺参数的数据库设计,连中间踩过的“Fanuc系统寄存器地址对应错”“断连后数据补传”这些坑都给大家说清楚,新手跟着做也能跑通。工艺参数要跟“工单”和“设备”绑定,不然查的时候不知道是哪个工单、哪台设备的参数。
C++代码测试-指针常量和常量指针
//: cpp代码测试// 指针常量和常量指针const int *p;int i = 20, j = 30;p = &i;cout p = &j;//*p = j;错误int *const pp = &i;*pp = j;//pp = &j;错误//: cpp代码测试// 枚举类型enum depart{d1, d2, d3};depart x = d2;cout
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
C++ 指针传参测试
可以看到,点击按钮2没有打印信息,因为调用createAnimal2(SAnimal *ani)时,指针是值传递(传递的是指针值的副本),因此函数执行完后指针ani依然是空,只有传入指针的地址(即&*或**)才生效。答案是显然的,不管是传入指针,还是指针的地址,指针a的值在函数中被修改后都生效。假如有一个类A(非空),将其作为形参传入函数中,在函数中修改它的值,会生效吗?然而如果指针a是空指针,它是在函数内被创建的,那结果如何?
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
C++的数组指针和二维数据测试
前言 为了理解C++的数组指针和二维数组,笔者编写了一个简易的测试程序(见文末),测试结果如下: ---------------- declaration ----------------- char arr1[3]; char arr2[3][2]; char *p1 = arr1; char(*p2)[2] = arr2; ---------------- p1 ----------------- arr1 = 006FF784 p1 = 006FF784 &arr1[0] = 006FF784
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
C++智能指针测试
#include #include #include using namespace std; int main(int argc, char* argv[]) { int *p1 = new int(10); // std::shared_ptr sp(new int(10));//一个指向整数的shared_ptr std::shared_ptr sp(p1); assert(s
C++笔记_测试指针以及引用的传参情况
之前一直对指针和引用的传参抱有疑问, 今天特地测试下 1.定义的指针不能使用常量进行初始化,想要使用就必须用变量定义然后传递这个变量的引用. 2.指针测试. 如果传入的是&a, 函数以*a接收,那么 函数体内a=传入前的&a=地址 函数体内*a=传入前的a=真实值 函数体内&a=地址的...
C++ 智能指针动态内存简单测试
代码示例,主要来自《C++ Primer》,动态内存相关那章内容。登录后复制 #include <iostream> #include <memory> #include <string> namespace { // 未初始化的智能指针,默认保存的空指针 void ...
如何跨文件使用C++中的const类型指针
通过二个文件:main.cpp , fun.cpp 来测试const类型指针的跨文件使用// main.cpp#include char * const str=new char[100];void fun();void main(){ strcpy(str,"hello"); fun();} // fun.cpp#include
C++野指针测试
C++中使用野指针,会出现崩溃的问题(实际项目中不要使用)。 测试程序如下: #include<iostream> using namespace std; int main() { //野指针 int *p = (int *)0x1234; //输出随机值 cout << p << endl; //程序崩溃,使用野指针 cout << *p << endl; return 0; } ...
c++ 指针的几个测试例子
有关内存的思考题 void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); } 请问运行Test 函数会有什么样的结果?
C++指针形参和引用形参的区别测试
//指针参数测试方法1 void PP_Change1(int *a,int *b) { //传进来的是指针变量中的指针副本,在被掉函数中的形参有自己的内存,接受由实参传过来的值, //值的交换是无法改变实参的 int *p; p = a; a=b; b=p; //但如果改变实参所指向的值,那就相互影响了,因为操作的是同一份...
C++多层(垂直)继承参数列表赋值,基类的指针或引用访问子类对象测试,子类的指针或引用访问基类对象测试。
#include <iostream> using namespace std; //多层继承(垂直继承)的参数列表赋值法 //测试: 基类指针或引用可以以访问派生类对象中继承自基类的成员 // 基类指针或引用不可以访问派生类对象的新增成员 // 子类的指针无法指向基类的对象 // 子类的引用无法引用基类的对象 class A { public: A(int val):a(val) { cout.
c++指针&指针数组&数组的指针 的测试
// myc++.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h"//引用外部文件 #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { /* int C; const int a = 10; in
136



被折叠的 条评论
为什么被折叠?



