我很难理解Python ctypes中LP_*(例如LP_c_char)和*\u p(例如c_char_p)指针之间的区别。是否有文件区分它们?在

我所读到的关于*\p指针的一些信息表明它们更好(以某种未指明的方式),但是当我试图将它们用作结构字段时,我会得到奇怪的行为。例如,我可以创建一个带有LP\u char指针字段的结构:import ctypes

char = ctypes.c_char('a')

class LP_Struct(ctypes.Structure):

_fields_ = [('ptr', ctypes.POINTER(ctypes.c_char))]

struct = LP_Struct(ctypes.pointer(char))

print type(struct.ptr)

得到的指针是:

^{pr2}$

但是,当我创建一个带有c\u char_p指针字段的结构时:class Struct_p(ctypes.Structure):

_fields_ = [('ptr', ctypes.c_char_p)]

p = ctypes.pointer(char)

struct = Struct_p(ctypes.cast(p, ctypes.c_char_p))

print type(struct.ptr)

生成的“ptr”字段是

换句话说,指针在进程中的某个地方被取消引用。在

python的指针跟c的区别_ctypes中的LP_x*指针和*p指针有什么区别?(以及与结构的奇怪交互)...相关推荐

  1. python中read和readline的区别_Python中read()、readline()和readlines()三者间的区别和用法...

    前言 众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了.以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也 ...

  2. python代码什么时候用单引号_Python 中的单引号和双引号有什么区别?

    在Python当中可以使用单引号,也可以使用双引号,那两者有什么区别吗? 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串.但是这两种通用的表达方式,除了可以简化程序 ...

  3. python中del和pop的区别_python中的del,remove,pop有什么区别

    python中有3个删除元素的方法:del remove pop 虽然它们都是删除元素,用于删除列表.字符串等里面的元素,但是用法可不完全一样,元组由于是不可变的,所以不能使用哦!那么接下来就来看看它 ...

  4. python中的单引号和双引号有什么区别_Python 中的单引号和双引号有什么区别?...

    在Python当中表达字符串既可以使用单引号,也可以使用双引号,那两者有什么区别吗? 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串.但是这两种通用的表达方式,除了 ...

  5. python中str和int区别_Python中的string方法和str方法有什么区别?

    String是一个模块,str是一个类型. 我发现str有方法,有些str的方法与string相同.在>>>dir(str) ['__add__', '__class__', '__ ...

  6. python的json loads用法_Python json库中load、loads、dump、dumps的区别与用法

    1 json.loads() 将json格式的数据转化为字典类型 data_json = '{"msg": "登录成功", "code": ...

  7. html load方法的区别,jQuery  中的.load()、$get()、$,post()用法和区别

    .load()方法是局部方法,因为他需要一个包含元素的jQuery 对象作为前缀.而$.get()和$.post()是全局方法,无须指定某个元素.对于用途而言,.load()适合做静态文件的异步获取, ...

  8. c语言双引号和单引号的区别_Python中的单引号和双引号有什么区别?

    在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串.但是这两种通用的表达方式可以避免出错之外,还可以减少转义字符的使用,使程序看起来更清晰. 举两个例子: 1.包含单引号的字符 ...

  9. java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...

    最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...

最新文章

  1. 在SolidWorks 3D CAD中构建乐高直升机
  2. Bitwise Exclusive-OR Sequence 异或,dfs,菊花图(2021.11.沈阳)
  3. java核心面试_Java核心面试问题
  4. 计算机二级的编程题,计算机二级编程题(范文).doc
  5. 荣耀系列到底算不算华为手机
  6. 【To Do! 重点 正则表达式】LeetCode 65. Valid Number
  7. python 保存dataframe_在python2中将dataframe保存到CSV
  8. 前端代码编辑器 sublime text 4 for Mac v4.0(4114) 中文设置
  9. PADS软件如何导出BOM
  10. wepe重装win10用U盘安装系统
  11. 最全NISP二级习题汇总
  12. html的日期插件标签,CaretTab - 新式可以显示时间和日期的标签
  13. python自己制作节奏大师游戏_十分钟利用Python制作属于你自己的个性logo
  14. 关于微信适配的坑==》ios、安卓强制微信字体
  15. 为什么苹果手机通话的时候不能录音?
  16. Python-分类问题示例-OneR-学习笔记
  17. html表格自动分列,CSS3 Columns分列式布局方法简介
  18. 实战案例!用 Python 绘制全国鸿星尔克门店分布图,最多的是你所在城市吗?
  19. 写给不想做OJ题的C++学习者
  20. Linux系统简介(简单粗暴)

热门文章

  1. 汇编指令的学习3——协处理器cp15的操作指令mcr、mrc
  2. vs2017常量文本字符串无法转换成char*
  3. CUBRID学习笔记 22 插入数据
  4. date format 精辟讲解
  5. SharePoint 2013的100个新功能之网站管理(一)
  6. notify_one() 或 notify_all() 在c++中的使用要点
  7. 使用VLC转码,在HTML5页面播放实时监控
  8. 二分法查找(C/C++)
  9. 周末,说下我喜欢的篮球
  10. ESP32,使用gitee搭建 ESP-IDF 开发框架