相关疑难解决方法(0)

什么是C中的size_t?

size_t在C中感到困惑.我知道它是由sizeof运营商返回的.但究竟是什么呢?它是数据类型吗?

假设我有一个for循环:

for(i = 0; i < some_size; i++)
Run Code Online (Sandbox Code Playgroud)

我应该使用int i;size_t i;

c int size-t

590
推荐指数
10
解决办法
68万
查看次数

memcpy到完全相同的区域是否安全?

我知道memcpy对于重叠区域通常是不安全的,我确实理解其中的原因.但我的问题是:做这样的事情通常是否安全?

#include <stdio.h>
#include <string.h>

int main(void) {
    int a = 5;
    memcpy(&a, &a, sizeof a);
    printf("%d", a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果没有,我可以认为哪种硬件/软件配置是安全的?

edit1:所以我将改进我的问题:这个函数的通常*实现会认为它安全吗?(当然不在C标准之外)

edit2:我知道这个问题很容易解决,但是这个奇怪的用例引起了一个问题,这个问题没有直接被其他答案所覆盖.

*通常我指的是大多数使用和部署系统的实现(例如linux,windows ......)

c memcpy

-3
推荐指数
1
解决办法
1042
查看次数

标签 统计

c ×2

int ×1

memcpy ×1

size-t ×1