问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

C语言如何定义指针指向字符型二维数组22

提问网友 发布时间:2024-03-07 10:16
第三个和第四个解释一下,有例子!
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
5个回答
热心网友 回答时间:2024-03-29 11:14

使用指针变量访问二维数组的任意一个元素的方法:

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列的元素。

扩展资料:

数组的使用规则:

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函数逐个对数组元素赋值。

参考资料:

百度百科-数组

热心网友 回答时间:2024-03-29 11:09
如定义:int a[3][4];
int *p; p=a[0];此时p就指向0行0列元素
热心网友 回答时间:2024-03-29 11:08

1、定义二维指针数组与定义一维指针数组差不多,只是矩阵的维度增加了一维而已。

2、下面通过具体的实例来说明如何定义一个二维数组:

int *p[2][3];  // 定义一个二维数组,只是定义,并没有分配地址空间
int i,j;  // 数组的行数和列数
// 下面的2个for循环是用来对二维指针数组进行初始化的,也即分配地址。如果不进行初始化操作,就会使指针变为野指针(即指向不明)。
for(i=0; i<2; i++)
    for(j=0; j<3; j++)
        p[i][j] = (int *)malloc(sizeof(int));
*p[0][1] = 2; // 对指针数组中指针所指向的内存单元进行赋值操作
printf("%d\n", *p[0][1]);  // 输出结果
热心网友 回答时间:2024-03-29 11:13

在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*,也即每个元素为指针。

热心网友 回答时间:2024-03-29 11:14
定义字符型二维数组:char str[3][10];
定义指针型数组 : char *p[5] = {str[0],str[1],str[2]};

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

C语言 怎么用指针输出一个二维数组的全部值33 ...以后在考职称的问题,是考中医师呢还是考主治医师? c语言中怎样实现对二维数组元素进行赋值并输出。179 儿媳不孝顺婆婆会影响到婆婆财产吗? 儿媳能继承公婆遗产吗比例是多少 丧偶儿媳没有赡养公婆有继承权吗 国家规定电信塔要离居民房多少米才安全129 国家规定移动基站铁塔安全距离是多少59 用护照去了一次香港,可以再去别的国家吗?4 请问持护照可以去香港吗?212 我有港澳通行证,但是没有香港的签注,持护照假飞第三国而在香港...2 砖砌体的质量要求包括什么? 草铵膦稀释倍数7 增强草甘膦的溶解度1 赌博案是刑事案件吗 帮我写一些句子, 例“海浪激起浪花,美丽极了” “海浪激起的...15 奶奶在田里割草的动作描写20 材料不同的塑料薄膜用什么方法焊接最好? 不踩别的脚印什么意思 职高学舞蹈可以剃光头吗 C语言的指针表示动态二维数组怎么弄?2 C语言怎么用指针代替二维数组66 c语言里面怎么用指针表示二维字符数组8 C语言如何利用指针接受二维数组实参1 异地能不能在福建省福清市农村申请建房,怎么申请,需什么手续 c语言中二维数组的指针如何表示27 c语言里面怎么用指针表示二维字符数组5 C语言 怎么用指针输出一个二维数组的全部值52 c语言问题,用指针为一个二维数组赋值20 管理学作业啊,急! 案例二 东原公司的组织问题 东原公司是一家新兴企业... 交强险过期电子眼会报警吗?13 车险脱保后电子眼会不会拍?还有12123上车辆会不会显示异常...8 车辆脱审高速电子警察能否报警4 白云观能让师傅开光吗 车辆脱审了摄像头能拍到吗4 脱审车摄像头还能拍到吗 ...需要买公交票了,两个人的话在北京怎么买公交票比较方便 车保脱险几天开车出了一趟门,电子眼会拍吗?5 现在的电子眼能通过车牌判断车辆是否脱保?5 强制险脱保定陶电子眼能拍到吗?
Top