有什么unsigned int*不同的东西吗int*?我知道unsigned有更高的价值范围.还是,int*甚至不能指向任何unsigned int?
char *str = "Hey baby";
Run Code Online (Sandbox Code Playgroud)
为字符串创建内存并指向str它.如果这是有效的,为什么不是以下内容:
int *x = {7, 0, 1};
Run Code Online (Sandbox Code Playgroud)
这应该做同样的事情,除了它们是ints而不是chars.
我正在查看sbrk系统调用的文档,发现这个:
成功时,
sbrk()返回上一个程序中断.(如果中断增加,则此值是指向新分配的内存的开始的指针).出错,(void *) -1返回,并errno设置为ENOMEM.
现在,
有什么意义(void *) -1?
它指向的确切内存地址是什么?(如果确实如此)
如何保证(void *) -1不是sbrk()成功返回的有效地址?
我想快速创建一个静态链表,尽可能少的代码,这是非常可读,没有混乱.我如何优雅地完成这项工作?
就像是
1 -> 2 -> 3 -> 4 -> NULL