看板Programming
标 题Re: [问题] 请问C语言中指标宣告与字串
发信站KKCITY (Fri Aug 22 18:44:12 2008)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.au!zoonews.ee.ntu!news
※ 引述《[email protected] (敲口爱)》之铭言:
> int *a=123;
> char *a='c';
> 编译时发生错误,可以理解成系统并没有配置记忆体空间给pointer
> 故pointer指向之记忆体位置并无法存放变数,而发生address access violation
非也
int *a=123; 错误,是因为不准这样直接给值
char *a='c'; 等於 char *a=92; ,错的原因也是一样
access violation是run-time error,不会在compile-time发生。
> 又见
> char *a="qwe12312";
> 是个常见可行的写法
> 但试问各位板友,编译器如何去解释这段指令
1)在常数区划一段长度9的记忆体
2)放进'q','w','e','1','2','3','1','2','\0'
3)把这块记忆体的开头位址指定给a
--
蒙帝派松正体中文计画 (4/23)
- 如何隐身 - SPAM - 英国杀人笑话
http://www.wretch.cc/blog/journeyman&article_id=14377810
▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂
■法外科学暨工程顾问公司■ http://www.wretch.cc/blog/journeyman/
▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆
--
┌─────◆KKCITY◆─────┐ KKBOX◤歌名╱歌手╱歌词╱专辑◢搜寻
│ bbs.kkcity.com.tw │ ★ http://www.kkbox.com.tw ★
└──《From:59.115.203.20
》──┘ 超过100家唱片公司合法授权 音乐尽情下载
--
1F:推 CCChieh:感谢 218.174.134.87 08/22 19:13