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