指针
形参和实参在函数间的传递
-
形参和实参都用数组名
-
实参用数组名,形参用指针变量
-
实参形参都用指针变量
-
实参为指针变量,形参为数组名
多维数组和指针
定义
int (*p)[4]
表示一个指向包含四个元素的一维数组的指针
p+i则指向一维数组a[i]。
即类型说明符(指针变量名)[长度] 其中“类型说明符”为所指数组的数据类型。 “”表示其后的变量是指针类型。“长度”表示二维数组分解为多个一维数组时,一维数组的长度,也就是二维数组的列数。
Eg:
有一个二维数组,输入行数和列数,输出该行所有元素和该列所有元素
#include "stdio.h"
int main()
{
void print(int m,int n,int a[]);
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int m,n;
leap: scanf("%d%d",&m,&n);
if(m<3 && n<3)
{
print(m,n,a);
}
else
{
printf("输入错误,请重新输入!");
goto leap;
}
}
void print(int m,int n,int a[])
{
int (*r)[3],(*c)[3];
int i;
r=a;
c=a;
for(i=0;i<3;i++)
{
printf("%2d",*(*(r+m)+i));
}
printf("\n");
for(i=0;i<3;i++)
{
printf("%d\n",*(*(c+i)+n));
}
}
字符串和指针
char a[]="i love China!";
等同于
char *a="i love China!";
需要注意:两者从汇编的角度来说,原理并不相同;
标签:int,数组名,数组,printf,实参,指针 来源: https://www.cnblogs.com/eliotJones/p/15569459.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。