c语言二维字符数组
㈠ c语言二维数组如何定义字符串急。。。
c语言二维数组定义字符串的步骤如下:
1、我们先是定义一个二级指针和行列变量【int **array,row,column;】。
㈡ C语言 二维字符数组的输入输出问题
#include<stdio.h>
void main()
{
int i;
char name[3][20]; //是你定义的数组不对,[a][b] a代笑孙表你要输入个名字个数,薯散b代表你输数升氏入的名字长度
for(i=0;i<3;i++)
{
scanf("%s",&name[i]);
}
printf("输出:\n");
for(i=0;i<3;i++)
{
printf("%s\n",name[i]);
}
}
㈢ C语言如何定义指针指向字符型二维数组
在C语言中,可以通过如下方式来定义指向字符型二维数组的指针:
char c[4][5]; // 定义一个4行5列的字符型二维数组
char (*pc)[5]; // 定义一个含5个元素的数组指针
pc=c; // 将数组指针pc指向二维字符数组c
注:
char
(*pc)[5]
不能写为 char
*pc[5]
char
(*pc)[5]
表示数组指针,数组中每个元素为char型;
char
*pc[5]
表示指针数组,数组中每个元素为char*,也即每个元素为指针。
㈣ C语言统计二维字符数组里的字母个数怎么做
#include<stdio.h>
intfun(charar[4][6],charc)
{
intcount=0,i,j;
for(i=0;i<4;++i)
for(j=0;j<6;++j)
if(ar[i][j]==c)
++count;
returncount;
}
intmain()
{
charc,a[4][6];
inti;
printf("输入4行字符串到数组中: ");
for(i=0;i<4;i++)
gets(a[i]);
printf("输入要统计的字符: ");
scanf("%c",&c);
printf("字符数:%d ",fun(a,c));
return0;
}
㈤ C语言如何定义指针指向字符型二维数组
使用指针变量访问二维数组的任意一个元素的方法:
1.使用列指针:定义一个列指针p,让它指向二维数组的第0个元素
int a[3][4];
int *p;
p=&a[0][0];
//因为a[0]是第0行的数组名,所以p=&a[0][0]相当于p=a[0],因为a[i][j]前面共有i*4+j个元素
该二维数组的任意i行j列元素可表示为*(p+i*4+j)。
2.使用行指针:定义一个行指针p,让它指向二维数组的第0行
int a[3][4];
int (*p)[4];
p=a; //也可以为p=&a[0];
其中* ( *(p+i)+j)表示任意一个i行j列的元素。
(5)c语言二维字符数组扩展阅读:
数组的使用规则:
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函数逐个对数组元素赋值。
网络-数组
㈥ c语言里面怎么用指针表示二维字符数组
二维数组就是数组的数组,二维数组即数组的元素是一维数组的数组。那么我们要用指针指向二维数组,就是要定义一个指向数组的指针了。例如:
charstr[3][10];//定义了一个char型的二维数组
char(*pstr)[10];//定义了一个指向char型的数组指针
pstr=str;//指针指向二维数组str
下面用pstr这个指针对二维数组进行赋值操作
inti;
for(i=0;i<3;i++)
scanf("%s",*(p+i));//*(p+i)等价于str[i]