學習鏈表關於指針的一些理解
阿新 • • 發佈:2017-12-03
二級指針 出現 學習 技術 技術分享 sys 輸出* std 分享圖片
指針必須要初始化(即使是結構體指針),不然就算不出現編譯錯誤,在運行也會出現錯誤。
1、void* 通常來說有三種用法,詳情請百度。
2、在調用函數中的指針地址和主函數中指針地址已經不同,只是其中儲存的地址都指向了a而已。
#include<stdio.h> #include<stdlib.h> void Try_change(int *p) { int b = 7; printf("Try p=%p &p=%p\n", p, &p); p = &b; } int main() { int *p = NULL; int a = 5; p = &a; printf("main p=%p &p=%p\n", p, &p); Try_change(p); printf("%d\n", *p); system("PAUSE"); return 0; }
運行結果:
3、關於指針的指針(二級指針)
int a[5] = {1, 2, 3, 4, 5};
int *p = a;
int **point = &p;
輸出**point,結果為1,等價於*p;
詳情請參見:
http://blog.csdn.net/g200407331/article/details/52610150
學習鏈表關於指針的一些理解