日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )

發(fā)布時(shí)間:2025/6/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 ) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、不允許向 NULL 地址寫入數(shù)據(jù)
  • 二、不允許不斷地改變指針指向
  • 三、字面量存放位置





一、不允許向 NULL 地址寫入數(shù)據(jù)



聲明指針變量 , 并為其 設(shè)置 NULL 初始值 , NULL 就是 0 ;

char *p = NULL;

注意 , 此時(shí)一定不能訪問 p 指針變量指向的地址 , 0 地址是操作系統(tǒng)保護(hù)地址 , 讀寫該地址的數(shù)據(jù) , 都會(huì)報(bào)錯(cuò) ;


C/C++ 中的 NULL 的值為 0 ;

#ifndef NULL #ifdef __cplusplus #ifndef _WIN64 #define NULL 0 #else #define NULL 0LL #endif /* W64 */ #else #define NULL ((void *)0) #endif #endif

如果在聲明指針后 , 向 NULL 地址寫出數(shù)據(jù) , 執(zhí)行時(shí)直接報(bào)錯(cuò) ;

錯(cuò)誤代碼示例 :

#include <stdio.h> #include <stdlib.h>int main() {// 聲明指針變量 , 并為其設(shè)置 NULL 初始值// NULL 就是 0char *p = NULL;// 向 0 地址寫出數(shù)據(jù)會(huì)報(bào)錯(cuò)strcpy(p, "123");// 打印 p 指針內(nèi)容printf("%s\n", p);return 0; }

執(zhí)行結(jié)果 : 上述代碼執(zhí)行時(shí) , 沒有任何響應(yīng) ;





二、不允許不斷地改變指針指向



指針變量 聲明后 , 不斷修改 指針變量的值 , 就是 不斷改變 指針變量 指向內(nèi)存空間的位置 ;

上述操作會(huì)導(dǎo)致 多個(gè)指針變量 , 會(huì) 指向同一塊內(nèi)存空間 , 這種做法不會(huì)出錯(cuò) , 但是 容易出現(xiàn) BUG , 一旦出問題根本找不到原因 ;


代碼示例 :

#include <stdio.h> #include <stdlib.h>int main() {// 聲明指針變量 , 并為其設(shè)置 NULL 初始值// NULL 就是 0char *p = NULL;char *p2 = NULL;// 堆內(nèi)存中申請 20 字節(jié)數(shù)據(jù)p2 = (char *)malloc(20);// 為內(nèi)存賦值strcpy(p2, "1234567890");int i = 0;for(i = 0; i < 10; i++){// 借用 p 指針遍歷 p2 指針指向的內(nèi)存p = p2 + i;printf("%c\n", *p);}return 0; }

執(zhí)行結(jié)果 :





三、字面量存放位置



在代碼中 , 如果出現(xiàn) 0 , 1 等字面量 , 如

int a = 0;

上述 字面量 0 沒有放在棧區(qū) , 字面量 無法取地址 , 沒有放在 棧區(qū) 和 堆區(qū) ;

總結(jié)

以上是生活随笔為你收集整理的【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。