c++
学习之路
weixin_35230710
这个作者很懒,什么都没留下…
展开
-
C/C++ stract_s 安全拼接
如此运行会报错,原因在与strcat_s的第二个参数,它需要a和b的字符串总大小,单单sizeof(a)就会报以上的错误。而且 声明定义的类型a,b字符数组在main中的话会报这样的错误:Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.原因是堆栈损坏,在变量a周围的堆栈已损坏。根据这位博主表达的意思:(5条消息) 关于报错:Run-Time Check Failure...原创 2022-04-27 00:46:07 · 1292 阅读 · 0 评论 -
C++在子函数中调用malloc申请内存空间
子函数中申请内存空间主函数中使用的方式,运行结果也报错的。原因是没有分配内存空间。说是形参int *p接受的是副本,相当于普通形参的调用的那样。若是这样的情况那:这样的情况下是可以操作的。我 尝试以下操作不使用int*p=NULL,直接指向有效地址:这样情况是可以操作,但是会报错。先不管报错,能执行操作说明分配了内存。那么问题就锁定在了形参接受的值上面。区别在于一开始赋值的是NULL指针,形参接受的参数也是指向NULL的。这个时候我感觉可以认为是这样的void te...原创 2022-04-20 15:34:06 · 633 阅读 · 0 评论 -
C++关于头文件中定义变量出现LNK2005
LNK后总会跟着LNK1169;在头文件中对静态变量声明在单个cpp文件中使用是没有问题的,但是对于多个cpp文件就会报错LNK2005.原因其实就是在头文件中被定义了。因为多创建了个cpp,一开始以为是没有#ifndef,但是它和#pragma once在作用上是一样的,只是针对同一份文件不被包含两次。解决办法就是把变量定义在cpp中,声明全局变量不能像上面的“int aa”,它也相当于被定义,需要加上extern;所以头文件用来声明,cpp用来定义可以避免这样的问题...原创 2022-04-06 16:16:56 · 1223 阅读 · 0 评论 -
C++中关于指针不同表达方式
从第三个输出可以看出 编译器应该是这样操作:*(&p)先取地址后然后得到地址中的值。根据网络上查询到的(根据运算优先级,*&p 等价于*(&p)。&*p 等价于&(*p)。)但是第二句的输出是这样的:若是这样的情况,第三个语句先取地址和显示输出的第二行地址应该是一样的(&p =(&p)),为什么加个*就会不一样。加*号不是取地址中的值吗?取的值不是指针本身的值吗?(即便指针没有值也改输出点什么)所以我认为,可能运算符优先级并...原创 2022-04-03 15:27:30 · 419 阅读 · 0 评论 -
C++回文整数
思路来源自leetcode,光头指日可待原创 2022-03-29 22:01:30 · 1050 阅读 · 0 评论 -
C++编写关于三个数求最大值
不太优美的从三个数中求最大数原创 2022-03-29 02:51:14 · 1980 阅读 · 0 评论