dynamic-memory-allocation

    1熱度

    2回答

    我是MPI的新手。我寫了一個簡單的代碼來顯示使用多個進程的矩陣。說如果我有一個8x8的矩陣,並用4個進程啓動MPI程序,則會在第一個進程中打印第一個2行,由第二個線程打印的第二個2行將通過平均分割來打印。 #define S 8 MPI_Status status; int main(int argc, char *argv[]) { int numtasks, taskid; in

    0熱度

    3回答

    是否有使用C做這樣的事情 char* wrap(char *inp) { char *newstr; newstr = (char *)malloc(sizeof(char) * 4); newstr[0] = 'A'; newstr[1] = inp[0]; newstr[2] = 'B'; newstr[3] = '\0';

    0熱度

    1回答

    現在幾個小時我一直在努力研究如何將動態內存分配給某個playerid,當他們加入服務器,並在他們離開時銷燬它。 我試過很多東西,我試圖使指針數組...這會允許我使用指針和數組的位置與玩家ID訪問信息: int *pInfo[MAX_PLAYERS]; // Global //Function Local CPlayers p; pInfo[playerid] = p; 哪它不能工作,它

    0熱度

    2回答

    Practice.c #include <stdio.h> #include <string.h> #include <stdlib.h> #define ARR 32 int main(void){ int MEM=64; char arr[ARR],*p=(char *)calloc(MEM,(sizeof(char))),*q=NULL; int i

    2熱度

    3回答

    我試圖連接兩個字符串到這樣一個新的(finalString): finalString =字符串1 +「&」 +字符串2 首先,我分配的內存finalString,然後我使用strcat()。 finalString = new char[strlen(string1) + strlen(string2) + 2]; cout << finalString << endl; finalSt

    0熱度

    2回答

    我正在網上評委之一提交我的代碼。我的程序被接受。 但是,我的程序的某些部分需要最多10,000個元素的長整型數組。大小在運行時由裁判輸入。 我使用動態分配內存: int *array = new int[size]; 但在運行時該吃大量的時間。我的執行時間很糟糕,導致排名不佳。 是否有任何考慮到程序的要求,更快地替代動態分配? 我不知道爲什麼,但靜態創建數組使用 int array[10000

    1熱度

    1回答

    在嘗試使用new進行動態內存分配時,我發現可以請求大量的內存,以至於實現不會拋出bad_alloc異常,但只是崩潰與一個無效的分配錯誤。我試圖用一個簡單的測試,效果測試分配的大小 if (n >= SIZE_MAX/sizeof(double)) // throw some exception else // try to allocate memory 其中

    -3熱度

    2回答

    我有下面的代碼,這是不正常... 代碼:使用delete[] p;聲明 #include <iostream> #include <new> #define nullptr NULL using namespace std; int main() { int i,n; int * p; cout << "How many numbers would you

    1熱度

    1回答

    我一直在教自己如何用C編寫,我已經成功地編寫了一個大小合適的程序。我沒有編譯或執行程序的問題,但我有點關心數組數據類型的內存分配的一些細節。 我以下面的方式動態地分配給存儲器的陣列: double **array=malloc(n*sizeof(*array)); for(i=0; i<n; i++){ array[i]=malloc(3*sizeof(*(array[i])));

    0熱度

    1回答

    你好,我想執行使用動態內存分配插入排序。這裏是我的代碼,這段代碼給我錯誤,左值是必需的。請幫助我。 int *cardSorter(int *arrayPointer,int size){ int j,i,key; for(j=1;j<size;j++){ key=*(arrayPointer+j); i=j-1; while(i>=0||*