動態建立二維字元陣列存放字串

2021-10-08 18:34:43 字數 1155 閱讀 7150

動態實現二維字元陣列存放字串

思路:

首先建立一維陣列,每個元素都是char*型,再給每乙個元素分配它的指向,使每乙個元素都指向乙個一維的char陣列。這就實現了動態二維字元陣列

int row,column;

char **p;

cin>>row>>column;

p =(char**)malloc(sizeof(char*) * row)

;//先分配行,p = new char*[row]

;這樣寫也行

for(int i = 0; i < row; ++i)

p[i]

= new char[column+1]

; //再分配列,注意這裡是+1

char *a = new char[column+1]

; char *b = new char[column+1]

; scanf(

"%s",a)

; memcpy(b,a,sizeof(char)*(column+1))

; //a陣列中的串複製給b陣列

p[0]

= b;

printf(

"%s",p[0]

); //這樣就能實現串的轉換,還可以使用memcpy函式,很實用

// for(int i = 0; i < row; ++i)

// free(p[i]

); //釋放空間,先釋放一維陣列p[i]行占用的空間

// free(p)

; //再釋放一維陣列p占用的空間,釋放順序不能反,否則錯誤

使用memset函式:

//使用memset函式:

char *a = new char[column+1]

;char *b = new char[column+1]

;memset(a,0,sizeof(char)*(column+1))

;for(int i = 0; i < column +1 ; ++i)

printf(

"%d ",a[i]

);

二維陣列 字元陣列與字串

要求 了解多維陣列的概念 掌握二維陣列的使用 掌握用字元陣列存放字串的方法 掌握字串的輸入及輸出方法 二維陣列的定義 例 int a 2 3 定義乙個二維陣列 該陣列有2行3列共6個元素 這6個元素都存放int型資料 儲存時先儲存第一行的3個元素,然後再儲存第二行的3個元素 可將此二維陣列看成是乙個...

二維陣列 字串 API

1 二維陣列 陣列中的元素,又指向乙個新的子陣列 何時使用 1.儲存橫行豎列的資料時 2.分組儲存上下級包含關係時 如何建立 1.先建立空陣列,再初始化元素為子陣列 var data data 0 0,0,0,0 data 1 0,0,0,0 何時使用 不確定子陣列的個數或內容時 2.建立時就初始化...

二維陣列,字串,多維陣列

二維陣列 有2個下標的陣列成為二維陣列 定義 型別 陣列名 常量表示式1 常量表示式2 注意事項,二維陣列定義時,可以不指定第一維的長度,但必須給定第二維.例 int 3 字元陣列 用於存放字元變數的陣列成為字元陣列.字元陣列屬於一維陣列,元素型別char 例 char c 20 字元陣列串 存放字...