标签: c

size_t实际上是指针大小

首先,我要澄清,我现在非常熟悉的定义size_tintptr_t,我不希望他们完成的任务的任何重复.

相反,我想知道以下内容.你知道任何平台,除了 x86/DOS(带有难以忍受的内存模型)演员阵容

void* a = ...;
size_t b = (size_t)a;
Run Code Online (Sandbox Code Playgroud)

实际上丢失了比特或字节?

谢谢!

c

12
推荐指数
1
解决办法
7013
查看次数

什么是C语言中的套接字编程的好书/指南?

有人可以告诉我哪个是C语言中套接字编程的最佳指南/书籍/材料?我正在阅读beej的网络编程指南,但它只是给出一个概述.
你能推荐其他书籍或指南吗?

c c++ unix sockets

12
推荐指数
2
解决办法
8659
查看次数

有没有安全的strcmp?

我做了这样的功能:

bool IsSameString(char* p1, char* p2) 
{
     return 0 == strcmp(p1, p2);
}
Run Code Online (Sandbox Code Playgroud)

问题是,有时,错误地传递了不是字符串的参数(意味着p1p2不以空字符终止).然后,strcmp继续比较,直到它到达不可访问的内存并崩溃.有安全版strcmp吗?或者我能否以安全的方式判断p1(和p2)是否为字符串?

c c++ strcmp

12
推荐指数
4
解决办法
3万
查看次数

什么时候应该使用宏而不是内联函数?

在之前的一个问题中,我认为一个好的答案被推荐用于建议使用宏

#define radian2degree(a) (a * 57.295779513082)
#define degree2radian(a) (a * 0.017453292519)
Run Code Online (Sandbox Code Playgroud)

而不是内联函数.请原谅新手问题,但在这种情况下,宏的错误是什么?

c macros inline

12
推荐指数
3
解决办法
6473
查看次数

C中常量需要多少内存?

这样做的时候:

const int a = 5;
Run Code Online (Sandbox Code Playgroud)

我想知道是否会像变量那样得到4字节的内存?(在32位系统中)

c const

12
推荐指数
2
解决办法
5051
查看次数

C中的变量参数,如何获取泛型类型的值?

我正在尝试使用带有泛型类型的C stdarg.h lib.int类型,是我的泛型类型>要理解它,请继续阅读.所以,我的问题是:

我有一个函数接受可变数量的参数.喜欢

void function (int paramN, ...);
Run Code Online (Sandbox Code Playgroud)

在我的程序中,没有办法知道,哪个是变量参数的类型,它可以是char,数组,int,short,函数点等...就像

function (paramN, "Hey, I'm a string", 1, function_pint, array, -1); // -1 is a sentinel.
Run Code Online (Sandbox Code Playgroud)

所以,我认为,一个int,是32位,在x86(32位)系统中,这将保存所有内存地址.所以,如果我用int得到所有参数,那就不会有问题了,例如,"嘿,我是一个字符串"这个字符串的地址,通常适合32位变量,所以,我只需要制作演员.

我是正确的?
我可以做吗?
注意:我不想让我的函数像printf(这个解决方案,在这种情况下不适合好吗?)

谢谢你的回答.
抱歉我的英语不好.

c variadic-functions

12
推荐指数
2
解决办法
1万
查看次数

结构初始化C/C++编程语言?

我可以使用代码进行struct初始化:

struct struct_type_id struct_name_id = { value1, value2, value3 };
Run Code Online (Sandbox Code Playgroud)

但不能用:

struct struct_type_id struct_name_id;
struct_name_id = { value1, value2, value3 };
Run Code Online (Sandbox Code Playgroud)

为什么我可以用前者来做,但是后者不能用gcc,g ++,vc2008,vc6?换句话说,为什么c/c ++编程语言不支持这种语法?

谢谢.

c c++ struct

12
推荐指数
1
解决办法
5728
查看次数

我如何开始使用多线程编程?

我是Stack Overflow的初学者.我正在使用C/C++开发Unix平台.在这些方面了解基本编程我怎样才能从多线程开始?

多线程似乎非常有趣,我想在这方面发展我的知识.

我怎样才能开始使用多线程,哪些是最好的技术/书籍/电子书/文章可以尽早获取概念?

c c++ unix multithreading pthreads

12
推荐指数
2
解决办法
2万
查看次数

如何在C中编写自己的printf()?

实际上我正在尝试printf()使用varags在C中编写自己的.但我没有得到正确的解决方案.谁能帮我吗?

c libc

12
推荐指数
2
解决办法
3万
查看次数

C中类型的任何保证最小尺寸?

您是否可以对数据类型的最小大小做出任何假设?

到目前为止我所读到的内容:

  • char:1个字节
  • 短:2个字节
  • int:2个字节,通常为4个字节
  • 长:4字节

浮动???双???

float.hlimits.h系统是否相关?

c types cross-platform

12
推荐指数
4
解决办法
8264
查看次数