【C 语言】指针间接赋值 ( 间接赋值三要素 | 间接赋值 使用的三种场景 )
生活随笔
收集整理的這篇文章主要介紹了
【C 语言】指针间接赋值 ( 间接赋值三要素 | 间接赋值 使用的三种场景 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、間接賦值三要素
- 二、間接賦值 使用場景
- 1、① ② ③ 都在同一個函數中
- 2、① ② 在一個函數中 ③ 在另一個函數中
一、間接賦值三要素
三要素總結 : ① 定義實參和形參 ; ② 實參地址賦值給形參 ; ③ 使用形參指針修改實參值 ;
間接賦值 333 大要素 :
- 要素 ① : 定義 實際變量 ( 實參 ) , 以及接收 實際變量 地址的 指針參數 ( 形參 ) ; 如果 實際變量 是普通類型 , 則對應實參是 一級指針 , 如果 實際變量 是 一級指針 , 則實參是 二級指針 ;
- 要素 ② : 將 實際變量 ( 實參 ) 地址 , 賦值給 形參 指針 ;
- 要素 ③ : 使用 形參指針 修改 實際變量 ( 實參 ) 的值 ;
二、間接賦值 使用場景
上述 間接賦值 333 要素 ,
- ① 定義實參和形參 ;
- ② 實參地址賦值給形參 ;
- ③ 使用形參指針修改實參值 ;
在不同場景的組合 , 產生了 333 種 語法現象 ;
- 語法現象 一 : ① ② ③ 都在同一個函數中 ;
- 語法現象 二 : ① ② 在一個函數中 , ③ 在另一個函數中 ; ( 最常見 )
- 語法現象 三 : ① 在一個函數中 , ② ③ 在另一個函數中 ; ( 初始化函數常用 )
1、① ② ③ 都在同一個函數中
#include <stdio.h> #include <stdlib.h>int main() {// 定義普通變量int a = 0;// 聲明指針變量 , 并為其設置 NULL 初始值// NULL 就是 0char *p = NULL;// 將 a 的地址賦值給 指針變量 pp = &a;// 通過指針 簡介修改 變量 a 的值// * 符號可以看做 內存空間 的鑰匙 , 可通過地址找到內存*p = 20;// 打印 a 變量值printf("a = %d\n", a);return 0; }
2、① ② 在一個函數中 ③ 在另一個函數中
#include <stdio.h> #include <stdlib.h>/** 在本函數中, 將傳入的 p 指針指向的地址* 對應的 數據 修改為 30*/ void modify_a(int *p) {*p = 30; }int main() {// 定義普通變量int a = 0;// 聲明指針變量 , 并為其設置 NULL 初始值// NULL 就是 0int *p = NULL;// 將 a 的地址賦值給 指針變量 pp = &a;// 調用 modify_a 函數 , 在該函數中修改 a 變量的值modify_a(p);// 打印 a 變量值printf("a = %d\n", a);return 0; }
總結
以上是生活随笔為你收集整理的【C 语言】指针间接赋值 ( 间接赋值三要素 | 间接赋值 使用的三种场景 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C 语言】指针间接赋值 ( 指针作为
- 下一篇: 【C 语言】字符串操作 ( C 字符串