
C/C++
文章平均质量分 57
要有个昵称
机器学习小白的黑化之路。
展开
-
C/C++ 传地址,传值,传引用?
对C语言,考虑一个非main函数func(…){};,它的参数列表中不管int a 也好,int* a, int** a也好,func内部使用的那个值,都是在传入的时候对原值进行拷贝所形成的一个副本。这就解释了,为什么func(int a’)中即使func对a’进行了修改,main中的a还是不会改变:编译器先在内存空间中申请一块内存M’,给到a’,func只是对这块M’上对应的值a’进行了修改而已,而没有对原来的a所在的M上的值a做任何操作。更进一步,我们考虑func(int* a’)的情况。先明..原创 2021-06-02 18:32:28 · 163 阅读 · 0 评论 -
(C/C++语言)给函数传参时用一级指针还是用二级指针?
在需要给函数传入指针的时候,经常对一级指针和二级指针的事情摸不着头脑,基本上是玄学编程。现在作一个简单总结:1、如果传入的是一个一级指针,那么可以修改值;2、如果传入的是一个二级指针,那么可以修改一级指针。测试代码:#include <iostream>using namespace std;typedef struct testNode { struct testNode *t1, *t2; int int_t;}testNode, *test;void Init_1(t原创 2021-05-28 19:46:16 · 320 阅读 · 0 评论 -
简单记忆八位有符号数的取值范围:-128~127
对于0000 0000 ~ 1111 1111,其作为无符号数表示时,只需要直接将二进制转化为十进制即可,范围是0~255。下面考虑有符号数的情况。将0000 0000 ~ 1111 1111分段:0000 0000 ~ 0111 1111,符号位是0,表示正数,真值范围为:+0 ~ +1271000 0001 ~ 1111 1111,符号位是1,表示负数,真值范围为:-127 ~ -1单独考虑1000 0000,符号位是1,表示负数,为得到其真值需要进行“取反加一”操作,有 1111 1111原创 2020-07-24 23:07:41 · 4296 阅读 · 2 评论