问2个C指针的问题
时间:2009-03-25
来源:互联网
问几个C指针的问题
各位,我近来在看一些代码,并尝试做些修改,但有几个问题不太明白,
想请教一下:
1)片段1:
char upper(char *packages, int len)
{
char *table=NULL;
...........
parse(packages, table);
..............
}
void parse(char *data_in, char *data_out)
{
.....
*data_out = data_in; //这样传递可以吗???
.....
}
2)片段2:
int aa;
char *packages;
......
aa= *(int *)packages; //这里指针packages是如何将值传给非指针aa?
。。。。。
int counter;
*(int *)packages = counter; //类似上面的
各位,我近来在看一些代码,并尝试做些修改,但有几个问题不太明白,
想请教一下:
1)片段1:
char upper(char *packages, int len)
{
char *table=NULL;
...........
parse(packages, table);
..............
}
void parse(char *data_in, char *data_out)
{
.....
*data_out = data_in; //这样传递可以吗???
.....
}
2)片段2:
int aa;
char *packages;
......
aa= *(int *)packages; //这里指针packages是如何将值传给非指针aa?
。。。。。
int counter;
*(int *)packages = counter; //类似上面的
作者: zqz 发布时间: 2009-03-25
引用:
作者: zqz
问几个C指针的问题
各位,我近来在看一些代码,并尝试做些修改,但有几个问题不太明白, 想请教一下: 1)片段1: char upper(char *packages, int len) { char *table=NULL; ........... parse(packages, table); .............. } void parse(char *data_in, char *data_out) { ..... *data_out = data_in; //这样传递可以吗??? ..... } |
*data_out 是一个char 不能接受 *char的。
引用:
作者: zqz
2)片段2:
int aa; char *packages; ...... aa= *(int *)packages; //这里指针packages是如何将值传给非指针aa? 。。。。。 int counter; *(int *)packages = counter; //类似上面的 |
作者: acevery 发布时间: 2009-03-26
谢谢你的指点
作者: zqz 发布时间: 2009-03-26
>>(int*)package是把 *char cast 成 *int,第一个*是 dereferece出 (*int)中的int值。
这个不是太懂。可否再解释下。
我想把它转成数组等形式,这样好理解点,也安全点。
顺便可否说下,为啥要这么传值?
这个不是太懂。可否再解释下。
我想把它转成数组等形式,这样好理解点,也安全点。
顺便可否说下,为啥要这么传值?
作者: zqz 发布时间: 2009-03-26
引用:
作者: zqz
>>(int*)package是把 *char cast 成 *int,第一个*是 dereferece出 (*int)中的int值。
这个不是太懂。可否再解释下。 我想把它转成数组等形式,这样好理解点,也安全点。 顺便可否说下,为啥要这么传值? |
数组本身就是指针,没有必要的,如果你用的是*char的话,记得它指向的连续内存块中数据的最后一个值(不一定是内存块的最后一个byte)要是NULL。另外string.h中的函数尽量用strncpy这样有长度为参数的话安全很多了。
作者: acevery 发布时间: 2009-03-26
谢谢了 ,这样我就明白了点。
作者: zqz 发布时间: 2009-03-27
不 客 气
作者: acevery 发布时间: 2009-03-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28