C语言中下标与指针的转换以及指向指针的指针的例子

下标到指针之间和转换

以下的程序做了什么。

#include <stdio.h>

int main()

{

int a[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};

int i = 0;

int j = 0;

for(i = 0; i<3; i++)

{

for(j=0; j<3; j++)

{

printf("%d\n", *(*(a+i)+j));

}

}

}

打印了数组中的每个元素:

指向指针的指针

#include <stdio.h>

int main()

{

int a = 1;

int* p = NULL;

int** pp = NULL;

pp = &p;

*pp = &a;// ==> p = &a;

printf("%d", **pp);

return 0;

}

使用实例:重置动态空间大小(类似于在函数中修改入参)

#include <stdio.h>

int reset(char**p, int size, int new_size)

{

int ret = 1;

int i = 0;

int len = 0;

char* pt = NULL;

char* tmp = NULL;

char* pp = *p;

if( (p != NULL) && (new_size > 0))

{

pt = (char*)malloc(new_size);

tmp = pt;

len = (size < new_size) ? size : new_size;

for( i=0; i<len; i++)

{

*tmp++ = *pp++;

}

free(*p);

*p = pt;

}

return ret;

}

int main()

{

char* p = (char*)malloc(5);

printf("%0X\n", p);

if( reset(&p, 5, 3) )

{

printf("%0X\n", p);

}

return 0;

以上是 C语言中下标与指针的转换以及指向指针的指针的例子 的全部内容, 来源链接: utcz.com/p/208290.html

回到顶部