小编bub*_*ble的帖子

为什么C标准定义了一个简短的数据类型范围?

C99标准以下列方式定义数据类型的范围:

— minimum value for an object of type signed char
SCHAR_MIN -127 // ?(2^7 ? 1)
— maximum value for an object of type signed char
SCHAR_MAX +127 // 2^7 ? 1
— maximum value for an object of type unsigned char
UCHAR_MAX 255 // 2^8 ? 1
— minimum value for an object of type char
CHAR_MIN see below
— maximum value for an object of type char
CHAR_MAX see below
— maximum number of bytes in a …
Run Code Online (Sandbox Code Playgroud)

c

5
推荐指数
1
解决办法
620
查看次数

分配和释放记忆

我的问题很简单.我们通常通过声明一个指针然后为该指针分配一块内存来分配内存.假设代码中的某个地方我碰巧使用了

ptr = ptr + 1

然后我用

free(ptr)

谁能说出会发生什么.整个内存块将被取消分配或其他内容.我可以部分解除内存吗?

c

4
推荐指数
1
解决办法
205
查看次数

如何解决此链接器错误?

我试图在Eclipse项目中使用编译库.编译顺利,但在链接期间我得到一个错误.下面是在eclipse控制台上生成的详细信息.

g ++ -L/usr/local/lib -o"readInput"./ readInput.o -llibopencv_calib3d.so -llibopencv_contrib.so -llibopencv_core.so

/usr/bin/ld: cannot find -llibopencv_calib3d.so  
/usr/bin/ld: cannot find -llibopencv_contrib.so  
/usr/bin/ld: cannot find -llibopencv_core.so
Run Code Online (Sandbox Code Playgroud)

我甚至在提供库路径之后也不知道为什么链接器会发出无法找到它的错误.

c++ linker opencv g++ eclipse-cdt

4
推荐指数
1
解决办法
181
查看次数

这两行代码中显式和隐式类型转换有什么区别?

char a;
char b;
char c;

a = b + c;

a = (char)((int)b+(int)c);
Run Code Online (Sandbox Code Playgroud)

在第一行它隐含转换char为int.在第二行,它是明确的.编译器生成的二进制文件有区别吗?

请从嵌入式系统的角度考虑这个问题.

c

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

网上有可用的C语言汇编吗?

网上有可用的C语言汇编吗?我觉得很难用精确的技术术语解释我想说的话.

c

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

这段代码是什么意思?

请帮我理解这段代码的含义.我第一次看到这种用法

typedef enum {

        E_1_DEFAULT = 0,
        E_1_1,
        E_1_2,
        E_1_3,
        E_1_4,
        E_1_5,
        E_1_255 = 255           //needs at least 8Bit

} APPLICATION_ENUM_1;                           

typedef enum {

        E_2_DEFAULT = 0,
        E_2_1,
        E_2_2,
        E_2_3                   //needs at least 2Bit

} APPLICATION_ENUM_2;                           

typedef enum {

        E_3_DEFAULT = 0,
        E_3_1,
        E_3_2,
        E_3_3,
        E_3_4,
        E_3_5,
        E_3_666 = 666           //needs at least 10Bit

} APPLICATION_ENUM_3;



typedef struct {

        APPLICATION_ENUM_3      var3:10;                // 10Bit
        APPLICATION_ENUM_1      var1:8;         // 18Bit
        APPLICATION_ENUM_2      var2:2;         // 20Bit
        uint8                   unnused_1:4;   // fill up the last whole byte …
Run Code Online (Sandbox Code Playgroud)

c enums

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

我们什么时候说两个标识符具有相同的范围?

C标准定义了两个标识符具有相同的范围,当且仅当它们的范围终止于同一点时.并继续说明:

结构,联合和枚举标记具有在声明标记的类型说明符中标记出现之后开始的范围.每个枚举常量都具有在枚举器列表中定义枚举器出现之后开始的范围.任何其他标识符的范围都在其声明者完成之后开始.

是否意味着即使两个标识符的范围开头不匹配,也会正式调用两个标识符以具有相同的范围?

c

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

如何跳转迭代器以指向foreach循环中列表的任何其他元素?

我有一个foreach类似的循环

foreach my $ref_array (@$array1)
Run Code Online (Sandbox Code Playgroud)

$array读取整个Excel工作表的结果在哪里.

在我的循环中$ref_array获取工作表中每行的值.现在我想提前$ref_array获取电子表格下一行的值.我怎么能在循环中间做到这一点?

perl

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

什么是这段代码的含义?

在头文件中,定义由.给出

static void (*foo[CONST]) (void);
Run Code Online (Sandbox Code Playgroud)

它的含义是什么?

c

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

在rvalue端使用NULL指针解除引用是危险的吗?

我有以下代码.

int *a = NULL;
int b;

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

是不是以任何方式定义?我正在尝试访问仅用于阅读的指向的位置.它能做什么错?

c pointers

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

标签 统计

c ×8

c++ ×1

eclipse-cdt ×1

enums ×1

g++ ×1

linker ×1

opencv ×1

perl ×1

pointers ×1