【C语言进阶】 宏定义实现字符串引用
生活随笔
收集整理的這篇文章主要介紹了
【C语言进阶】 宏定义实现字符串引用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
宏定義實現(xiàn)字符串引用
- 原理
- 最簡單的引用策略
- 使用#進行轉義
原理
用宏定義實現(xiàn)字符串引用: 這種做法在編譯的時候直接給宏名所對應的字符串 分配了一個內存地址空間,可以進行字符串輸出、地址打印、指針操作和索引操作。
最簡單的引用策略
最簡單的引用策略就是直接用宏定義來定義帶有引號的字符串,如下代碼片所示。
code
#include <stdio.h>#define STR_HELLO "hello"int main() {printf("macro define str: %s\n", STR_HELLO);printf("macro define add: %d\n", STR_HELLO);printf("used as pointer: %s\n", STR_HELLO+1);printf("used as array : %c\n", STR_HELLO[1]);return 0; }這種做法在編譯的時候直接給STR_HELLO 也就是字符串 “hello” 分配了一個內存地址空間,可以進行字符串輸出、地址打印、指針操作和索引操作。
terminal
使用#進行轉義
但有的函數(shù)偏偏不學好,非要用宏轉換來進行操作,就變成了這個樣子。
code
這種方式在linux內核里使用的較多。主要是用于dts解析,提高可讀性,但是我個人感覺,還不如上面那種好用。
terminal
總結
以上是生活随笔為你收集整理的【C语言进阶】 宏定义实现字符串引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习笔记(1):用户输入,终
- 下一篇: 如何使用matlab的siso,利用Ma