動態實現二維字元陣列存放字串
思路:
首先建立一維陣列,每個元素都是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 字元陣列串 存放字...