指標和陣列之字串的區別

2021-07-23 12:00:11 字數 954 閱讀 8114

1. 字串巨集

#define const_str "const str"

巨集在預編譯的時候會替換成實際的值

2.陣列

陣列名對應一塊記憶體,在生命週期內其位址和容量不會改變,陣列裡面的內容可以變。

3.指標

指標指向一塊記憶體,如果指向字串常量(ro),則不能修改內容。

如果申請了一塊記憶體,複製字串常量,則可以修改內容

#include

#include <

string

.h>

#include

#include

#define const_str "const string"

typedef void (

*string_test_routine_t)()

;void pointer_strcpy_macro(void)

void pointer_strcpy_string(void)

void pointer_macro_string(void)

void pointer_string(void)

void array_macro_string(void)

void array_string(void)

void array_strcpy_string(void)

void array_strcpy_macro(void)

static string_test_routine_t func_base=

;#define num_func (sizeof (func_base)

/ sizeof(func_base[0]))

void test_string(void)

else

if( pid =

= 0 )

else}}

int main()

0 給主人留下些什麼吧!~~

指標字串和陣列指標

指標是c語言的精髓,只有掌握好指標才算是真正學會了c語言,以下就是學習指標的例子 include main int n 5 sort name,n print name,n if strcmp1 name 0 name 1 0 printf s,s n name 0 name 1 if strcmp...

指標指向字串和陣列儲存字串區別

include void main 定義了乙個指向字串的指標,str是在棧上分配的變數,儲存的位址對應的是在常量區中分配的空間。aafg 是儲存在常量區裡面,是不能改變的。char str 其實存在一種 const char 型別的隱式轉換,而strcpy要做的改變常量,所以程式編譯的時候沒錯,執行...

指標和陣列名及字串的區別

學習嵌入式技術有一段時間了,對於c語言容易混淆不清楚的地方自己做了一下總結 指標和陣列名 這裡不談原理和概念 自己總了他們在用法上的不同和相同 例子 int a 10 int b 不同 1 sizeof 不同 sizeof a 為整個陣列的記憶體,sizeof b 為指標的記憶體一般是4位元組 2 ...