chq*_*lie 1 c calloc undefined-behavior language-lawyer
通常假设将对象初始化为所有位0是将其所有成员设置为的简单方法0.对于非整数类型,标准不保证这样:
整数怎么样?是否完全定义了以下代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int *p = calloc(sizeof(*p), 1);
if (p) {
printf("%d\n", *p);
memset(p, 0, sizeof(*p));
printf("%d\n", *p);
free(p);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |