C语言中二维数组取某一行的值

Python019

C语言中二维数组取某一行的值,第1张

假设数组变量为a,找到要取的行索引i用一个循环j=[0 to 列数)依次取出a[i][j]

需要注意的前提是得知道该行的列数:

如果该二维数组是直接定义的,比如a[5][10],那么直接用10做列数就行了。

如果该二维数组是动态分配(malloc)的,那么需要在分配该数组内存的时候把列数记住。如果每一行的列数都不一样,那么要么记住所有行的列数,要么得有一个统一的策略来供判断是否已经到达列尾(比如所有列尾都用0表示,确保别的数组元素中不会出现0)

没有简单的函数或表示方法,只能使用循环输出或者使用数组中的值。

#include <stdio.h>

int main()

{

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

int b[3],n=3

printf("输出第三行:\n ")

for(int i=0i<3i++)

{b[i]=a[n-1][i]printf("%d ",b[i])}

}

数组b中存储的就是第n行的数据。

扩展资料:

数组的使用规则:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4}表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1}而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。

3.如不给可初始化的数组赋初值,则全部元素均为0值。

4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5}可写为:static int a[]={1,2,3,4,5}动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

参考资料:

百度百科-数组