C說話中下標與指針的轉換和指向指針的指針的例子。本站提示廣大學習愛好者:(C說話中下標與指針的轉換和指向指針的指針的例子)文章只能為提供參考,不一定能成為您想要的結果。以下是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;