TC官方合作论坛

 找回密码
 立即注册

TC为什么要引入指针的概念?

查看数: 714 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-12-28 10:03

正文摘要:

本帖最后由 seemk 于 2015-12-28 10:06 编辑 TC本来就是非强制类型的语言,如果引入了指针的概念,感觉怪怪的.比如"获取变量指针"这个函数,实在没想出来有什么用,我猜测有两种可能: 1.通过指针,调用系统api时传递 ...

回复

unlix 发表于 2016-2-2 21:01:37
mjg2009 发表于 2016-1-1 09:43:27
seemk 发表于 2015-12-29 09:30
感谢关注!

下载了您的代码,我尝试使用引用来代替指针,结果以失败告终.总结如下:

内存数据无类型。不管是数组还是结构体,都是一块连续的内存。
直接申请一块内存把指针传进API里面,然后把这块内存里的数据再还源为组数或结构体就行了。没有调用不了的
seemk 发表于 2015-12-30 09:09:06
sam7894604 发表于 2015-12-29 19:10
1. 变量指针与变量地址是不同的东西
  变量指针:取的是该变量的内存地址
  变量地址:取的是该变量 ...

1.原来TC里的变量的概念是这样的,一直以为TC里的变量地址就像C语言那种变量地址呢

谢谢
sam7894604 发表于 2015-12-29 19:10:07
seemk 发表于 2015-12-29 09:30
感谢关注!

下载了您的代码,我尝试使用引用来代替指针,结果以失败告终.总结如下:

1. 变量指针与变量地址是不同的东西
  变量指针:取的是该变量的内存地址
  变量地址:取的是该变量中保存的数据地址

2. int * 类型,如果你确定是数组,那可以用结构体作为代替使用,效果相同
seemk 发表于 2015-12-29 09:30:12
本帖最后由 seemk 于 2015-12-29 09:37 编辑

感谢关注!

下载了您的代码,我尝试使用引用来代替指针,结果以失败告终.总结如下:

TC是无法通过API给回调函数传递引用的,所以只能用"获取变量指针"这种传参方式来改变外部变量了(使用全局变量的方法除外)
"获取变量地址"也不能实现这样的需求,因为TC只有"地址取值"而没有"地址引用"(有就好了),所以无法改变外部变量的值

鄙人认为,有一种API函数似乎是TC调用不了的,比如这个API的某个参数是整形数组,也就是int *类型,而这个API的功能是改变这个数组的值.而"获取变量地址"是无法获取数组的地址的,所以这种情况是不是无法使用TC调用呢?
sam7894604 发表于 2015-12-28 19:53:46
千叶de悠一 发表于 2015-12-28 18:00:28
那是为了 支持 win32 api准备的
jimye0526 发表于 2015-12-28 12:51:51
你懂的,tc就是这么任性,其实对于没编程基础,或者就是玩一点易语言的都搞不清指针是怎么回事,直接来变量地址更直接易懂
关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-12-21 00:42 , Processed in 0.092803 second(s), 27 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表