亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解,請問在C語言中memcpy函數的區別?

求解,請問在C語言中memcpy函數的區別?

C++ C
ABOUTYOU 2022-03-19 13:09:57
//字符串處理函數2 字符串的拷貝#include "stdio.h"#include "string.h"int main(){char *destin="abcdefghijklmn";char *source="123456";char *Ptr;printf("destin=%s source=%s\n",destin,source);Ptr=memcpy(destin,source,5);if (Ptr)printf("after memcpy is %s\n",Ptr);return 0;}編譯連接正常,但是運行時出錯,把*destin改成destin[]就正常了,想知道為什么會出現這些,難道兩個指針還有區別??求解!
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

char *destin="abcdefghijklmn";
這樣表示的是一個字符串 常量 ,是不允許改變destin中的內容的。
destin[] 聲明的是一個數組,是可以改變里面內容的。

查看完整回答
反對 回復 2022-03-23
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

有區別:
一個是普通的字符串指針---------destin[]
一個是字符串常量指針,常量指針的意思就是內容不能變,是常量--char *destin="abcdefghijklmn";

查看完整回答
反對 回復 2022-03-23
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

*destin:字符串常量指針,不允許修改,等價于const char * destin
destin[]:字符串數組,可以修改。

查看完整回答
反對 回復 2022-03-23
  • 3 回答
  • 0 關注
  • 241 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號