使用二级指针改变二维数组元素值

来源:互联网 发布:手机js脚本例子 编辑:程序博客网 时间:2024/06/16 10:08
#include <stdio.h>

void modifyElement(int **p)
{
**p = 1;
}

int main(void)
{
int a[2][3] = {0, 0, 0, 0, 0, 0};
int i = 0;
int j = 0;
int *p = (int *)&a[0][0];

printf("Before modify: \n");
for(i = 0; i < 2; i++)
{
for(j = 0; j < 3; j++)
{
printf("a[%d][%d] = %d ", i, j, a[j] );
}
}
printf("\n");

modifyElement((int **)&p);

printf("After modify: \n");
for(i = 0; i < 2; i++)
{
for(j = 0; j < 3; j++)
{
printf("a[%d][%d] = %d ", i, j, a[j] );
}
}
printf("\n");

return 0;
}

运行结果:

Before modify:
a[0][0] = 0 a[0][1] = 0 a[0][2] = 0 a[1][0] = 0 a[1][1] = 0 a[1][2] = 0
After modify:
a[0][0] = 1 a[0][1] = 0 a[0][2] = 0 a[1][0] = 0 a[1][1] = 0 a[1][2] = 0
原创粉丝点击