第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用malloc分配具有不同行長(zhǎng)度的多維數(shù)組

使用malloc分配具有不同行長(zhǎng)度的多維數(shù)組

C
明月笑刀無(wú)情 2019-08-08 15:26:38
使用malloc分配具有不同行長(zhǎng)度的多維數(shù)組我有以下C代碼:int *a;size_t size = 2000*sizeof(int);a = (int *) malloc(size);哪個(gè)工作正常。但如果我有以下內(nèi)容:char **b = malloc(2000*sizeof *b);每個(gè)元素b都有不同的長(zhǎng)度。怎么可能b像我一樣做同樣的事情a; 即以下代碼是否正確?char *c;size_t size = 2000*sizeof(char *);c = (char *) malloc(size);
查看完整描述

3 回答

?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

首先,你需要分配像指針一樣的數(shù)組char **c = malloc( N * sizeof( char* )),然后用一個(gè)單獨(dú)的調(diào)用來(lái)分配每一行malloc,可能在循環(huán)中:

/* N is the number of rows  *//* note: c is char** */if (( c = malloc( N*sizeof( char* ))) == NULL ){ /* error */ }for ( i = 0; i < N; i++ ){
  /* x_i here is the size of given row, no need to
   * multiply by sizeof( char ), it's always 1
   */
  if (( c[i] = malloc( x_i )) == NULL )
  { /* error */ }

  /* probably init the row here */}/* access matrix elements: c[i] give you a pointer
 * to the row array, c[i][j] indexes an element
 */c[i][j] = 'a';

如果您知道元素的總數(shù)(例如N*M),則可以在單個(gè)分配中執(zhí)行此操作。


查看完整回答
反對(duì) 回復(fù) 2019-08-08
?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

動(dòng)態(tài)分配類型為T的NxM數(shù)組的典型形式是

T **a = malloc(sizeof *a * N);if (a){
  for (i = 0; i < N; i++)
  {
    a[i] = malloc(sizeof *a[i] * M);
  }}

如果數(shù)組的每個(gè)元素具有不同的長(zhǎng)度,則將M替換為該元素的適當(dāng)長(zhǎng)度; 例如

T **a = malloc(sizeof *a * N);if (a){
  for (i = 0; i < N; i++)
  {
    a[i] = malloc(sizeof *a[i] * length_for_this_element);
  }}


查看完整回答
反對(duì) 回復(fù) 2019-08-08
?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

等效存儲(chǔ)器分配char a[10][20]如下。

char **a;a=(char **) malloc(10*sizeof(char *));for(i=0;i<10;i++)
    a[i]=(char *) malloc(20*sizeof(char));

我希望這看起來(lái)很簡(jiǎn)單。


查看完整回答
反對(duì) 回復(fù) 2019-08-08
  • 3 回答
  • 0 關(guān)注
  • 498 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)