能力值:
( LV9,RANK:147 )
|
-
-
2 楼
- -..............这名字
char* sb名; 只是个指针.需要指向某空间.你未初始化直接赋值.能不出错吗.定义个数组.或者malloc分配个空间.先指向.再赋值.
再看看C的书籍吧..
|
能力值:
(RANK:1324 )
|
-
-
3 楼
二逼->erbi
sb名->sbname
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
修改后的代码:
#include <windows.h>
#include <stdio.h>
struct sb
{
char* sbm;
}eb;
int main()
{
eb.sbm="0x01";
printf("%s",eb.sbm);
getchar();
return 0;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
哥们...0x01 是单字节赋值..
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
单字节:
#include <windows.h>
#include <stdio.h>
struct sb
{
char sbm; //单字节不用 *
}eb;
int main()
{
eb.sbm=0x01;
printf("%x",eb.sbm);
getchar();
return 0;
}
|
能力值:
( LV6,RANK:90 )
|
-
-
7 楼
char* sb名;
*sb名=0x01; // 这里有个小问题,sb 没确定位址
加个结构....
struct sb
{
char* sb名;
}二逼;
二逼.(*sb名)=0x01;
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
*(byte*)二逼.sb名=0x01;<===这行老出错,不知为什麽
因为是打算给 指针所指向的区域 赋值,
而你的指针就没初始化 (没指向任何区域),
你试试 二逼.sb名 = new char[1] , 然后 你在赋值~~~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
#include <windows.h>
#include <stdio.h>
struct sb
{
char sbm[];
}eb;
int main()
{
eb.sbm[0]=0x0cc;
eb.sbm[1]=0x0dd;
printf("%s\n",eb.sbm);
getchar();
return 0;
}
用数组解决了
|
能力值:
( LV7,RANK:140 )
|
-
-
10 楼
二楼已经讲的很清楚了,第一版的代码指针没有初始化,一般是0,你给0指针赋值肯定出错。
后面用数组代替,你的数组大小也没有初始化,可能也会存在不稳定的情况。
最后你自己的需求是什么都没说清楚,而且这么简单的问题自己不会F5调试一下吗?*(byte*)这么高大上的强制转换你都会写了,难道不会调试??
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
大神别生气阿,谢谢你指导我
|
能力值:
( LV7,RANK:140 )
|
-
-
12 楼
并没有生气啊,只是有点奇怪而已
|
能力值:
( LV9,RANK:190 )
|
-
-
13 楼
你让我想起: 曾经我也这样“坑”过
|
|
|