c語言二維char數組怎麼初始化

來源:魅力女性吧 2.2W
c語言二維char數組怎麼初始化

1 有兩種方法

(1)在定義時可以直接賦值來初始化

(2)在定義後可以為其元素一個個來賦值

2 示例

#include<stdio.h>

void display(int arr[2][3], int row, int col){

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

for (int j = 0 j < col j++){

printf("%d ", arr[i][j])

}

puts("")

}

puts("")

}

int main(){

//方法(1)

int arr1[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }

//方法(2)

int arr2[2][3]

int num = 1

for (int i = 0 i < 2 i++){

for (int j = 0 j < 3 j++){

arr2[i][j] = num++

}

}

display(arr1, 2, 3)

display(arr2, 2, 3)

getchar()

return 0

}

3 運行結果

由結果可知,兩種方式達到的效果是一樣的

4 擴展

由於C語言中數組中的元素的地址是連續的,所以下面的寫法也是可以的,運行效果同上

#include<stdio.h>

void display(int arr[2][3], int row, int col){

for (int i = 0 i < row*col i++){

for (int j = 0 j < col j++){

printf("%d ", arr[i][j])

}

puts("")

}

puts("")

}

int main(){

//方法(1)

int arr1[2][3] = { 1, 2, 3, 4, 5, 6 }

//方法(2)

int arr2[2][3]

int num = 1

int *p = *arr2//指向數組的第一個元素

for (int i = 0 i < 2 * 3 i++){

*p++ = num++

}

display(arr1, 2, 3)

display(arr2, 2, 3)

getchar()

return 0

}

c語言二維char數組初始化:

一:分行進行初始化

int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}}

在{}中用{}把各行分開,第一對{}中的初值是第0行,之後以此類推總體相當於執行arr[0][0] = 1, arr[0][1] = 2,此後類推

二:不分行對數組初始化

int arr[2][2] = {1,2,3,4}賦值時即為逐個賦值(先行後列)。

三:為部分數組元素初始化

static int arrr[2][3] = {{1,2},{3}}

第一行只賦值給前兩個,第二行只賦值給第一個。這是存儲類型是static,故其他未賦值的數組元素的初值為0。

例子:char str1【6】={'h','e','l','l','o','l'}

char str1【】={“hello”}

熱門標籤