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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(转)字符型指针变量与字符数组的区别

發布時間:2025/7/25 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)字符型指针变量与字符数组的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1)分配內存
設有定義字符型指針變量與字符數組的語句如下:
char *pc ,str[100];
則系統將為字符數組str分配100個字節的內存單元,用于存放100個字符。而系統只為指針變量pc分配4個存儲單元,用于存放一個內存單元的地址。


(2)初始化賦值含義
字符數組與字符指針變量的初始化賦值形式相同,但其含義不同。例如:
char str[ ] ="I am a student ! " ,s[200];
char *pc="You are a student ! " ;
對于字符數組,是將字符串放到為數組分配的存儲空間去,而對于字符型指針變量,是先將字符串存放到內存,然后將存放字符串的內存起始地址送到指針變量pc中。


(3)賦值方式
字符數組只能對其元素逐個賦值,而不能將字符串賦給字符數組名。對于字符指針變量,字符串地址可直接賦給字符指針變量。例如:
str="I love China! "; //字符數組名str不能直接賦值,該語句是錯誤的。
pc="I love China! "; //指針變量pc可以直接賦字符串地址,語句正確


(4)輸入方式
可以將字符串直接輸入字符數組,而不能將字符串直接輸入指針變量。但可將指針變量所指字符串直接輸出。
例如: cin >> str //正確
cin >> pc //錯誤
cout<<pc //正確


(5)值的改變
在程序執行期間,字符數組名表示的起始地址是不能改變的,而指針變量的值是可以改變的。

例如:str=str+5; //錯誤
pc=str+5; //正確
小結 字符數組s[100] 指針變量pc


(1)分配內存 分配100個單元 分配4個單元。
(2)賦值含義 字符串放到數組存儲空間 先將字符串存放到內存
將存放串的首地址送到pc中。
(3)賦值方式 只能逐個元素賦值 串地址可賦給pc
(4)輸入方式: 串直接輸入字符數組 不能將字符串直接輸入指針變量
(5)值的改變: 字符數組首地址不能改變 指針變量的值可以改變
由以上區別可以看出,在某些情況下,用指針變量處理字符串,要比用數組處理字符串方便

原文鏈接:http://www.chang-hao.com/content.php?id=3

轉載于:https://www.cnblogs.com/ForFreeDom/archive/2012/05/12/2496985.html

總結

以上是生活随笔為你收集整理的(转)字符型指针变量与字符数组的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。