相关疑难解决方法(0)

C++代码文件扩展名?.cc vs .cpp

我已经看到C++代码保存为文件.cc.cpp文件.这两者有区别吗?

谷歌的风格指南似乎在暗示.cc,但没有提供任何解释.

我主要关注Linux系统上的程序.

c++ filenames

545
推荐指数
17
解决办法
35万
查看次数

malloc - 从void*到double*的无效转换

我想编写一个使用指针创建双数组副本的函数.到目前为止这是我的代码:

#include <stdio.h>
#include <stdlib.h>

double* copy (double *array, int size)
{
    double *v=malloc(sizeof(double)*size);
    for (int i=0; i<size; i++)
        *(v+i)=*(array+i);
    return v;
}

int main ()
{
    //double array[];
    int size;
    printf ("size= "); scanf ("%i",&size);
    double *array=malloc(sizeof(double)*size);
    for (int i=0; i<size; i++)
        scanf("%f",&array[i]);
    copy(array,size);
    free(array);
}
Run Code Online (Sandbox Code Playgroud)

我有2个编译错误,我无法摆脱.我明白了

从void*无效转换为double*

当我尝试使用malloc分配内存但我无法理解我做错了什么.

c malloc

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

使用 malloc(sizeof()) 从 *void 到 *int [-fpermissive] 的无效转换

我正在编写一个程序来计算两个数字的最大公约数,但我遇到了malloc函数和指针的问题。实际上,堆栈和堆段在内存中如何工作以及为什么工作是很清楚的。但是,我还无法理解malloc在程序中何时声明指针和使用是否有效、是否必要。这是代码:

#include <iostream>
#include <stdlib.h>
#include <stdio.h>

int *calcolaDivisori(int);

int main(int argc, char** argv) {

    int foundCounter = 0;
    int i,j,s1,s2;
    int n1,n2;
    int mcd = 1,mcm;
    int *pn1,*pn2;
    int d1[100],d2[100];

    // INPUT dei due interi

    printf("Inserisci il primo numero :");
    scanf(" %d", &n1);
    printf("\nInserisci il secondo numero :");
    scanf(" %d", &n2);

    // calcolo divisori del primo e del secondo numero e li assegno ai relativi array

    pn1 = calcolaDivisori(n1);
    if (!pn1) return 1;
    pn2 = …
Run Code Online (Sandbox Code Playgroud)

c malloc pointers heap-memory

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

标签 统计

c ×2

malloc ×2

c++ ×1

filenames ×1

heap-memory ×1

pointers ×1