黑彩网站自己可以做么,沈阳专业网站seo推广,网站建设所需材料,快速排名软件seo系统目录
数组和指针的关系
数组指针#xff1a;
数组和指针的关系代码
指针数组
指针和二维数组的关系
数组传参 数组和指针的关系
一维数组和指针的关系#xff1a; int a[5] {1,43,5,3,2,}; 数组的数组名a是指向数组第一个元素a[0]的指针常量#xff1b; a a…目录
数组和指针的关系
数组指针
数组和指针的关系代码
指针数组
指针和二维数组的关系
数组传参 数组和指针的关系
一维数组和指针的关系 int a[5] {1,43,5,3,2,}; 数组的数组名a是指向数组第一个元素a[0]的指针常量 a a[0]; a的地址可以理解为int *类型: 有两种情况除外 1sizeof运算时 2运算时,是值不变类型升级为 数组指针 int * int ** int a[] int (*a)[] 对数组指针取*值不变类型降级成为指向数组第一个元素的指针。 访问下标为n的数组元素的方式a[n] *(an) p[n] p[n]就是pn再取* int a[5]就是开辟20个字节连续的空间地址是0x2000 类型就是int *
一维数组的传参数组传参 int a[5] {1,43,5,3,2,}; int funint *aint len
字符串传参char a[32] {hello world}; 和一维数组传参相似
数组指针
int *a[5] {NULL} *和int连用是5个元素每个元素是int *型类型。
定义一个数组数组占四十个字节每个元素为int *型共五个指针。
int *a[5] NULL
定义一个指针变量占八个字节空间指针指向了一个int类型五个元素的数组将来1就会偏移20个字节
数组和指针的关系代码
“sadfghj”一串字符串常量默认类型是char *型
用%p打印上述字符串打印出来的是上述字符串内存的首地址
字符串常量不能改变值要不然会崩掉
char str[10] {dfg};
char *pstr sdf;
*str S;
//是可以的因为dfg存在str数组指针中中
*pstr S;
//是不可以的的因为sdf只是将这传字符串的首地址存在pstr指针中
*pstr不可以直接改变sdf常量会崩溃。
指针数组
int (*a)[];
char *a[5]
char *a[5] {sddsaf,sdf,ds,ad,fd};
//相当于是定义了五个数组指针存了这五个字符串的
首地址,这五个字符串也是常量不能更改内容。打印
printf(%s,s[i]);
指针数组主要是用来操作字符串数组通过将指针数组的每个元素存放字符串的首地址实现多个字符串的操作
二维数组主要用来存放字符串数组每行存储一个字符串多行存储多个字符串所组成的数组。
指针和二维数组的关系 int a [2][3] {0};int *p NULL
int (*q)[3] NULL;p a[0][0];
p a[0];
p *a;q a;//二维数组的数组名是指向第一行元素的数组指针a1是直接加一整列的数据内存大小
//访问二维数组第m行第n列的方式a[m][n];*(a[m]n);**amn;*(pm*Nn);*(*(am)n);*(q[m]n);q[m][n];
数组传参
int outputarray(int (*p)[3],int len)int [2][3];outputarray(a,2);
//数组传参只需要穿数组指针类型和数组行数即可