u8 *p="hello";
为什么程序总是执行错误 而编译能通过
|  |      1linux40      2016-08-03 08:45:02 +08:00 via Android 买一本好的参考书吧 | 
|      2klausroot      2016-08-03 08:49:15 +08:00 编译是肯定是能通过的,"hello"是存在地址的,但不知道你是怎样执行出现错误的? | 
|  |      3jimages      2016-08-03 08:52:38 +08:00 via Android 最好把其他代码也贴上去。 | 
|  |      4zuoxiaomo      2016-08-03 09:00:53 +08:00 掐头去尾的代码怎么看? | 
|      5wangxn      2016-08-03 09:07:48 +08:00 via Android 少了 const 。楼主后续肯定修改了 p 。 | 
|  |      6nightspirit      2016-08-03 09:20:08 +08:00 u8 是什么?宏么?怎么定义的,还有就是报的什么错额 | 
|  |      7jixiangqd      2016-08-03 09:29:36 +08:00 已 block ,发现 v2 越来越水了,连提问题都这么表意不清 | 
|      8jeffersonpig      2016-08-03 09:30:55 +08:00 就这么一句谁知道错哪儿了 好好学一下怎么提问代码问题再来吧 LZ | 
|  |      9Jolly23      2016-08-03 09:31:36 +08:00 via iPhone 问问题不会么?啥都不说明白, u8 是啥,内存地址申请了么? | 
|      10bp0      2016-08-03 09:44:58 +08:00  1 u8 应该是 unsigned char 。 上述语句表示 p 指向了“ hello ”这个字符串的首地址,但是这个字符串是不能修改的。 如果你使用了类似 p[0] = 'a'; 之类的语句就会遇到运行时错误。 | 
|  |      11easing      2016-08-03 09:53:52 +08:00 这个问题应该是初学者都会迷惑的地方吧,我觉得还是不直接给答案比较好, lz 再好好看看字符串常量和指针吧 | 
|  |      13hxtheone      2016-08-03 10:45:43 +08:00 写代码不会, 问问题都不会, b 了 | 
|  |      14josephok      2016-08-03 12:19:54 +08:00 blocked | 
|  |      15pagict      2016-08-03 14:11:37 +08:00  2 u8 是什么都不知道 楼上各位就开始喷 LZ 不会提问题了    是不是应该反思自己看的代码量不够而不是质疑对方提问的技巧呢 u8 是在 Linux Kernel 代码中随处可见的数据类型 #define u8 unsigned char 遇见自己不知道的,能不能先反思一下到底是自己学识不够没见过,还是别人胡编乱造没水平? | 
|  |      16ragnaroks      2016-08-03 15:07:33 +08:00  1 虽然我知道 u8 是什么,但是楼主不贴全代码,真没法知道出了什么问题 | 
|  |      21jasonlz      2016-08-03 16:33:23 +08:00 "hello" 是 const unsigned char*类型。 |