【C 语言】结构体 ( 结构体变量内存操作 | 通过 “ . “ 操作符操作结构体内存空间 | 通过 “ -> “ 操作符操作结构体内存空间 )
生活随笔
收集整理的這篇文章主要介紹了
【C 语言】结构体 ( 结构体变量内存操作 | 通过 “ . “ 操作符操作结构体内存空间 | 通过 “ -> “ 操作符操作结构体内存空间 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、通過 " . " 操作符操作結構體內存空間
- 二、通過 " -> " 操作符操作結構體內存空間
- 三、代碼示例
一、通過 " . " 操作符操作結構體內存空間
通過 . 操作符操作 結構體 內存空間 , . 操作符 是 尋址操作 , 計算結構體 age 成員距離 距離 t3 變量的偏移量 ;
注意 : 只有 結構體 變量 才能使用 . 操作符 , 指向 結構體 的指針 , 不能使用該操作符 ;
代碼示例 :
// 通過 . 操作符操作 結構體 內存空間Teacher t3;// 為 name 結構體成員賦值strcpy(t3.name, "Tom");// . 操作符 是 尋址操作// 計算 age 變量距離 距離 t3 變量的偏移量t3.age = 18;t3.id = 2;二、通過 " -> " 操作符操作結構體內存空間
通過 -> 操作符操作 結構體 內存空間 , -> 操作符 是 獲取指針指向的內存數據 , 也是尋址操作 , 計算結構體 age 成員距離 距離 t3 變量的偏移量 ;
注意 : 只有 指向 結構體 變量 的指針 才能使用 -> 操作符 , 結構體變量 , 不能使用該操作符 ;
代碼示例 :
// 通過 -> 操作符操作 結構體 內存空間Teacher t4;Teacher *p = &t4;// 為 name 結構體成員賦值strcpy(p->name, "Tom");// -> 操作符 是 獲取指針指向的內存數據 , 也是尋址操作// 計算 age 變量距離 距離 t3 變量的偏移量p->age = 18;p->id = 3;三、代碼示例
代碼示例 :
#include <stdio.h> #include <stdlib.h> #include <string.h>/*** @brief The Teacher struct* 定義 結構體 數據類型 , 同時為該結構體類型聲明 別名* 可以直接使用 別名 結構體變量名 聲明結構體類型變量* 不需要在前面添加 struct 關鍵字*/ typedef struct Teacher {char name[20];int age;int id; }Teacher;/*** @brief main* @return*/ int main() {// I. 通過 . 操作符操作 結構體 內存空間Teacher t3;// 為 name 結構體成員賦值strcpy(t3.name, "Tom");// . 操作符 是 尋址操作// 計算 age 變量距離 距離 t3 變量的偏移量t3.age = 18;t3.id = 2;// 打印 t3 結構體printf("%s , %d , %d\n", t3.name, t3.age, t3.id);// II. 通過 -> 操作符操作 結構體 內存空間Teacher t4;Teacher *p = &t4;// 為 name 結構體成員賦值strcpy(p->name, "Tom");// -> 操作符 是 獲取指針指向的內存數據 , 也是尋址操作// 計算 age 變量距離 距離 t3 變量的偏移量p->age = 18;p->id = 3;// 打印 t4 結構體printf("%s , %d , %d\n", t4.name, t4.age, t4.id);// 命令行不要退出system("pause");return 0; }執行結果 :
Tom , 18 , 2 Tom , 18 , 3 請按任意鍵繼續. . . 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【C 语言】结构体 ( 结构体变量内存操作 | 通过 “ . “ 操作符操作结构体内存空间 | 通过 “ -> “ 操作符操作结构体内存空间 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C 语言】结构体 ( 结构体类型变量初
- 下一篇: 【C 语言】结构体 ( 结构体 数组 作