小编use*_*982的帖子

如果32位整数溢出,我们可以使用40位结构而不是64位长结构吗?

例如,如果一个32位整数溢出,而不是升级intlong,如果我们需要一个仅在2 40之内的范围,我们可以使用一些40位类型,这样我们就可以节省24(64-40)位整数?

如果是这样,怎么样?

我必须处理数十亿和空间是一个更大的约束.

c c++ memory-management integer-overflow

76
推荐指数
10
解决办法
1万
查看次数

如何为班级的私人和公共成员分配内存

在一个类中,私有成员是在公共成员的单独内存中分配的,还是按照定义的顺序分配的所有成员?

例如,

class A { 

private:  
    int a1;
    int a2:3;  
public:  
    int z;  
    int a3:2;  
    int a4:5;  
private:
    int a5:2;
}
Run Code Online (Sandbox Code Playgroud)

a1,a2a5凑钱进行内存分配或者是单纯a1,a2,a3,a4,a5

如果发生夜总会,可能会在比特字段的情况下改变班级的大小.

c++ class

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

没有维度的全局整数数组

定义没有维度的全局数组时的概念是什么?这表示输出为16.

    #include <stdio.h>
    #include <stdlib.h>
    int arr[];

    int main(int argc, char *argv[])
    {
        arr[1] = 16;

      printf("%d\n",arr[1]);
      system("PAUSE");  
      return 0;
    }
Run Code Online (Sandbox Code Playgroud)

甚至sizeof(arr)都不起作用.为什么?

c arrays global

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

差异b/w在1行或逐行中将内存分配给2D阵列

在这两种情况下,访问数组或内存分配会产生什么影响:

1.

    int **arr;
    arr = malloc( sizeof(int) * row * column );
Run Code Online (Sandbox Code Playgroud)

2.

    int **arr;
    arr = malloc( sizeof(*arr) * row);
    for(i=0; i<row; i++)
        arr[i] = malloc( sizeof( **arr) * column));
Run Code Online (Sandbox Code Playgroud)

c malloc multidimensional-array

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

每个程序在内存中都有自己独立的段(代码,堆栈,数据)吗?

假设有许多程序同时运行.
运行的每个可执行程序是否在RAM中具有自己的代码,数据和堆栈段,或者是完整的RAM分为4个段,每个段包含每个程序的相应段.

executable operating-system memory-segmentation

5
推荐指数
2
解决办法
2098
查看次数

使用动态分配为大约10000个变量存储布尔信息的内存有效方法

我需要存储大约10000个变量的布尔信息.首先我想到使用bool数组arr [10000],但需要40000个字节.但我需要以有效的内存方式存储这些信息.也许使用位操作?还需要另外一件事我需要全局存储它并动态分配它.你能帮我解决这个问题吗?

c c++ memory-management

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

如何在vi编辑器或linux中查找和删除两个文件中的重复行

我有2个文件A和B.两个都有超过100行.我想删除两个文件之间的公共行.
A:

asdf123
fdsa123
rrrr456
yyyy555
Run Code Online (Sandbox Code Playgroud)

B:

fdsa123
hhhh888
yyyy555
Run Code Online (Sandbox Code Playgroud)

所以现在文件应该是
A1:

asdf123
rrrr456
Run Code Online (Sandbox Code Playgroud)

B1:

hhhh888
Run Code Online (Sandbox Code Playgroud)

linux vi awk grep sed

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

宏中变量的范围

在文件xyz.c中

int p=2;  //global

#define sum(p,i) p+i

int main()
{
    printf("%d", sum(5,6));
}
Run Code Online (Sandbox Code Playgroud)

这里的输出是11(而不是8); 为什么?

c c++ macros scope

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

如何为指向数组的指针执行memset?

如何为指向数组的指针执行memset?

int (*p)[2];

p=(int(*))malloc(sizeof(*p)*100);

memset(p,0,sizeof(*p)*100);
Run Code Online (Sandbox Code Playgroud)

这个分配是正确的吗?

c c++ dynamic memset

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

返回地址是否确保非NULL返回值?

在函数中,如果我返回一些原始类型的对象的地址.我可以放心,它永远不会是一个NULL价值吗?

我是否需要查看NULL类似的声明

if (r_value) { //do something }  
else { //ERROR }  
Run Code Online (Sandbox Code Playgroud)

c c++ return return-type

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