99问答网
所有问题
#include<stdio.h> main() { int a[3][4],(*p)[4]=a; 该语句是什么意思?回答详细点,谢谢了
如题所述
举报该问题
推荐答案 2011-11-27
int (*p)[4]是声明了一个指针p。p指向的是一个长度为4的int数组。注意,指向的是整个数组,而不是数组中的某个元素。
二维数组
的数组名本质上就是一个指向数组的常量指针。这里a就是一个指向长度为4的int数组的常量指针,和p类型相同。
所以 int a[3][4],(*p)[4]=a;就是定义一个二维数组a,再定义一个指针p指向数组a。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/zeOWvteOz.html
相似回答
跪求,用C语言中的二维数组编出
a[3][4]
的最小值?
答:
include
<
stdio.h
> int
main()
{
int
a[3][4] =
{{1, 4, 7, 2}, {3, 5, 2, 9}, {6, 8, 0, 2}}
;int
i, j, min = a[0][0];for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) { if (a[i][j] < min) { min = a[i][j];} } } p...
c语言 急急急!想要p为4个元素的数组的指针,不知道应该怎么写?帮...
答:
include
<
stdio.h
>
main(){
int
(*p)[4],
i
;int
a[4]={
1,2,3,4};p=
&a;
for(i=0;i<4;i++)printf("%d ",*(*p+i));} p为地址 **p取*p地址中的内容 int
(*p)[4];
p为含有4个元素的指针数组, 每个元素均为指针 也就是*p 、*p+1、*p+2、*p+3 均为地址 ...
设二维整型数组
a[4][3],
使用数组指针的方法,求每行元素的和。
答:
include
<
stdio.h
> void
main(){
int
a[3][4],
max,maxi=0,maxj=0,i,j;printf("请输入:\n");for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);max = a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(max<a[i][j]){ max=a[i][j];maxi=i;m...
求一个使用指针输入输出一个
3
*
4
的矩阵的c语言程序
答:
include
<
stdio.h
> void
main()
{
int
a[3][4];
int
*p;
int i,j; p=&a[0][0]; printf("输入3*4矩阵: \n"); for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",p+4*i+j); printf("输出3*4矩阵: \n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) ...
int
a[3][4]={{
1,3,5,7}
,{
9,11,13,15},{17,19,21,23}};
答:
<
stdio.h
>void
main(){
int
a[3][4]={{
1,3,5,7},{9,11,13,15},{17,19,21,23}}; printf( "1. %d\n", a[2][1] ); /*数组下标0开始,第3个数组的第2个数字*/ printf( "2. %d\n", a[1] ); /*第2个数组的地址,2000 + 4*4 */ printf( "3. %d\...
一道C语言的题 求答案
答:
include
<
stdio.h
>
main(){
int
a[
]={
1,2,
3,4
,5,6},*p;p
=a;
//将指针指向数组首地址,相当于p=&a[0](p+3)+=2;//*(p+3
)是a[3]
的值,即4。执行
该语句
后,*(p+3)=6 printf("%d,%d\n",*p,*(p+3
));
//*p始终是指向数组a的首地址,所以输出为a[0],即1 } 这里涉及...
有二维数组
a[3][4]={
1到12}现从键盘任意输入一个整数n编程使用数组指针p...
答:
代码如下:
include
<
stdio.h
>
int
main(){
int i,j,k,n
,a[3][4]={
1,2
,3,
4,5,6,7,8,9,10,11,12};printf("输入n:");scanf("%d",&n);k=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]==n){ printf("下标:%d,%d\n",i,j);k++;} if(!k) printf("n...
#include
<
stdio.h
>
int
main()
{ int
a[3][4]={
1,3,5,7,9,11,13,15...
答:
printf("a[%d,%d]=%d\n",i,j,*(*(p+i-1)+j-1
));
谁能给我讲讲二维数组元素的引用啊?都有那几种方式啊?
答:
int
a[
2
][3]{
1,2,
3,4
,5,6}
;int
*p=*a;表示把数组的的第一行第一个元素的地址给指针变量,但是
*p=a是
错误的!!!输入数组的元素可以使用数组本身:a[i][j],代表第i行,第j列的元素的值;其实系统认为二维数组名就是二维指针,我们可以把数组名当做指针使用:(*(a+i)+j)表示代表...
大家正在搜
c语言include stdio
include iostream
int main(void)
int main(void)含义
includestdio
visual studio
iostream和stdio
include后面跟什么
void main和int的区别
相关问题
#include <stdio.h> main( ) { i...
#include<stdio.h> int main() {...
给出下述程序的执行结果 #include <stdio.h>...
有以下程序: #include <stdio.h> main...
#include"stdio.h" int main() {...
#include<stdio.h> void f (int ...
#include <stdio.h> void main( ...
请读程序,输出结果为: ( ) #include<stdio...