亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4176 | 回復(fù): 15
打印 上一主題 下一主題

一個memset的錯誤 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2006-09-26 17:45 |只看該作者 |倒序瀏覽

  1. #include<stdio.h>
  2. main()
  3. {
  4. char *a;
  5. a = (char*)malloc(10);
  6. while(1)
  7. {
  8. memset(a,0x00,10);
  9. a = "sdffd";
  10. }
復(fù)制代碼

我用的vc報錯了,為什么?應(yīng)該如何處理?

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
2 [報告]
發(fā)表于 2006-09-26 17:47 |只看該作者
這個和memset有什么關(guān)系?
a = "sdffd"; //?

論壇徽章:
0
3 [報告]
發(fā)表于 2006-09-26 17:47 |只看該作者
a = "sdffd";  后 a 指向的是靜態(tài)數(shù)據(jù)段, 不可寫 , 循環(huán)第二次調(diào)用memset 去寫 a 所以報錯  ,
復(fù)制用strcpy , 推出時用 delete

[ 本帖最后由 p4apple 于 2006-9-26 17:56 編輯 ]

論壇徽章:
0
4 [報告]
發(fā)表于 2006-09-26 17:49 |只看該作者
原帖由 lenovo 于 2006-9-26 17:47 發(fā)表
這個和memset有什么關(guān)系?
a = "sdffd"; //?

就是先給a付個值,再memset(a,0x00,10)這里就報錯拉

論壇徽章:
0
5 [報告]
發(fā)表于 2006-09-26 17:53 |只看該作者
知道了,是付值的問題.感謝大家?guī)臀?a = "dsfsdf"這樣付值不是也行嗎?debug跟過去值都一樣 為什么就出了錯呢?

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
6 [報告]
發(fā)表于 2006-09-26 17:56 |只看該作者
原帖由 cmh_2003 于 2006-9-26 17:53 發(fā)表
知道了,是付值的問題.感謝大家?guī)臀?a = "dsfsdf"這樣付值不是也行嗎?debug跟過去值都一樣 為什么就出了錯呢?

建議你仔細(xì)讀c語言教程!

論壇徽章:
0
7 [報告]
發(fā)表于 2006-09-26 17:58 |只看該作者
原帖由 lenovo 于 2006-9-26 17:56 發(fā)表

建議你仔細(xì)讀c語言教程!

Yes,Sir!

論壇徽章:
0
8 [報告]
發(fā)表于 2006-09-26 17:58 |只看該作者
a = "sdffd";當(dāng)然可以了,
關(guān)鍵是 "sdffd"[0] = 0出錯了

論壇徽章:
0
9 [報告]
發(fā)表于 2006-09-26 18:01 |只看該作者
a = (char*)malloc(10);
在堆中分配一個10字節(jié)的串,內(nèi)容不定(通過VC可以看到亂七八糟的東西)
while(1)
{
memset(a,0x00,10);
現(xiàn)在a的內(nèi)容確定了,其實就是一個0
a = "sdffd";
現(xiàn)在指針 a指向一個const的字符串(原來的空串已經(jīng)內(nèi)存泄漏了,找不到了)
}
當(dāng)你再次去給一個只有6個字節(jié)長(5+1)const字符串用10個字節(jié)(都是0)填進(jìn)去,會發(fā)生什么情況?想都想得到

論壇徽章:
0
10 [報告]
發(fā)表于 2006-09-26 18:06 |只看該作者
1. 進(jìn)入循環(huán)之前的 a,雖然malloc了10個字節(jié),但是包含的內(nèi)容是任意的,如果是全局變量則是確定的內(nèi)容

debug_1.jpg (44.92 KB, 下載次數(shù): 48)

debug_1

debug_1
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP