關於指標的一些總結性問題

2021-09-27 06:57:41 字數 1213 閱讀 3403

// demo_3.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include"pch.h"

#include#include//第乙個測試

/*void fun(int *p)

int main()

*///第二個測試

/*void fun(int *p)

int main()

*///第三個測試

/*void fun(int *p)

int main()

*///第四個測試

/*void fun(int **p)

void fun1(int *p)

int main()

*///第五個測試

/*typedef struct node

node;

void fun(node *node)

int main()

*///我先介紹幾個我自己的定義,有利於後面概念的理解:

//1.指標的附加值:因為有的指標是乙個結構體的指標,例如node *node。那麼node->data就是

//指標node的附加值

//2.指標的原始值:這個就是指標的值,也可以說是指標的指向。int *p=&a;那麼指標p的值

//就是&a

//前面說過,你想要通過函式改變指標的值,就要使用指標的指標。但是如果你想要改變的是

//指標的附加值,例如node->lchild,那麼其實就可以通過指標node *node的來改變。這個

//也是可以通過畫記憶體四區圖得出的。這個也是你在寫一些樹的**的時候,你應該深有體會

//但是如果你想要通過指標的指標來改變也是可以的。下面我就使用這樣的乙個例子,同時解決

//上面的野指標的問題

//第六個測試

/*typedef struct node

node;

void fun(node **node)

int main()

*///測試點6主要就是為了驗證我之前說的一些結論。因為每一次在程式設計的時候不可能就每一次還

//去畫乙個記憶體四區圖。所以,就給出了如下結論,這裡總結一下:

//1.你想要通過函式改變指標的值,就要使用指標的指標

//2.改變乙個指標的值,但是這個指標是另外乙個指標的附加值,那麼可以僅僅使用乙個指標

//就可以達到改變的效果了。

關於指標的一些總結

指標和陣列一樣,都是基於其它型別的。指標的宣告 int p updates 運算子兩邊的空格是可選的。對每個指標變數命名,都需要乙個 變數名,為取址,它的值為變數的位址 32位 指標變數,為指標儲存的位址所儲存的值。可以通過改變它來改變。malloc 可以分配記憶體,但c 更好的方法是使用new。i...

關於一些空指標異常的一些問題

listschedultcustomproductids new arraylist if schedultcustomproductids null 這樣是不能阻擋getbyids 方法的執行的 size 0和null是不同的,new完以後,是會給他分配記憶體的,是size 0,因為給他分記憶體了...

指標的一些總結

2016年9月14日 指標陣列和陣列指標 指標陣列是指 陣列元素都是指標 int ptr 5 int a 2,b 3,c 6,p,q p a q b ptr 0 a 存入的是a的位址 ptr 1 b ptr 2 c cout ptr 0 ptr 0 endl cout ptr 1 ptr 1 end...