[c/c++]unsigned和int的比较会默认强制转换为unsigned
无符号整形(unsigned) 和 有符号整形(int) 的比较会默认强制转换为 无符号类型(unsigned) 先来看示例代码,这里以 int a = -1 和 unsigned int b = 77 来做大小比较: #include <iostream> using namespace std; ...
无符号整形(unsigned) 和 有符号整形(int) 的比较会默认强制转换为 无符号类型(unsigned) 先来看示例代码,这里以 int a = -1 和 unsigned int b = 77 来做大小比较: #include <iostream> using namespace std; ...
首先要明确的是,数组名和指针还是有区别的数组名本身就是一个常量地址,它是数组的首地址,并且不可修改,而数组名本身不占空间。指针是一块空间,它存放了一个地址。在32位系统中,由于地址是4个字节大小,因此一个指针占用的空间...
问题 msgget()一直失败返回-1 如果你使用的是win10的子系统,则目前来看会有这个问题,而且几乎在每一台机子上都有这个问题,建议使用虚拟机VMware,或者升级win11。 消息发送中英文都乱码 如果连发送英文字母都乱码...
柔性数组 在C99标准之后,在结构体中最后一个元素允许是未知大小的,称之为柔性数组 一般定义为:类型 变量名[]注意:结构体中,柔性数组前必须有变量柔性数组必须定义在结构体的最后示例: struct CoolArr_s{ int len; c...
问题 按ctrl c给父进程传信号后,父进程会发送信号给子进程,为什么子进程没有反应?而只有修改父进程给子进程发送的信号为SIGINT时才会有反应? 原因:由于在shell中运行了父进程,父进程又创建了两个子进程,此时两个子进程...
问题 实验示例代码中,调用execl()时,第二个传参为什么会是可执行程序名:execl("/bin/ls", "ls", "-l", "-color", NULL) 猜测原因:可以更好地模拟在shell中执行时的传参,防止传参失效。剖析:我们先来看看 execl() 的定义...
问题 有的时候,程序运行后的输出结果会在cmd的输出提示之后: 本实验中是父进程创建了两个子进程,然后父进程输出 a 后结束,子进程分别输出 b c 后结束。出现该问题其实就在于父进程可能比子进程先结束,此时cmd提示就会...
含义 其实就是编码问题A:代表ANSIW:代表宽字节(wide),即 Unicode一般win的库函数如果后面不加 ’A‘ 或 'W' 时,直接给它传字符串类型值时会报错:以我常用的 ShellExecute() 为例: 会报错:"const char *" 类型的实...
前言 * new申请的内存,即使你没有执行delete,在程序结束后,也会释放掉的。* 但这样做会有很多弊端,下文将列举部分情况。 弊端 不delete的话被释放时不会执行析构函数 测试 - 在vs2022中:定义一个test...
树莓派4B 树莓派4B是一块cpu架构为Arm的开发板,可以看作是一个小型的电脑主机,只要刷入系统即可和正常电脑一样使用。 环境 树莓派4B - 4G内存版本Cpu架构:arm系统:linux / openwrtVS2019 - win10 预期想法 通过Vs...