#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
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