首页 \ 问答 \ 安卓的想把一个apk软件安装为系统软件,用re管理器直接把apk安装包放在system/app文件

安卓的想把一个apk软件安装为系统软件,用re管理器直接把apk安装包放在system/app文件

更新时间:2023-11-06 06:11

最满意答案

它是一个类型转换,它解释了&p的值,它的类型为void ** ,而不是类型为int ** ,它是存储值的变量的类型。

强制转换是必要的,因为void **void * ,并且不会自动转换为/从其他(数据)指针类型转换。 这可能令人困惑。


It's a type cast, that interprets the value of &p, which has type void **, as instead having type int ** which is the type of the variable the value is stored in.

The cast is necessary, since void ** is not the same as void * and does not automatically convert to/from other (data) pointer types. This can be confusing.

相关问答

更多
  • 它是一个类型转换,它解释了&p的值,它的类型为void ** ,而不是类型为int ** ,它是存储值的变量的类型。 强制转换是必要的,因为void **与void * ,并且不会自动转换为/从其他(数据)指针类型转换。 这可能令人困惑。 It's a type cast, that interprets the value of &p, which has type void **, as instead having type int ** which is the type of the variab ...
  • 要打印名为a的对象的地址,请使用: printf("The address of a is %p.\n", (void *) &a); 仅使用%p并不会告诉printf打印您用作参数的对象的地址。 您必须使用“地址”运算符& ,以获取地址。 否则,您将a的值传递给printf ,而不是a的地址。 另外,将地址转换为void *是正确的,如上所示,因为%p说明符需要指向void的指针。 其他类型的指针通常在许多C实现中工作(或似乎工作),但技术要求是传递指向void的指针。 To print the add ...
  • 代码正在执行以下操作: for (;;) // while(true) *(int32 *) 0 = 0; // Treat 0 as an address, de-reference the 0 address and try and store 0 into it. 这应该是segfault,空指针去引用。 编辑 编译并运行更多信息: #include #include #include int main(void){ ...
  • 必须在定义中初始化具有顶级const的非类类型。 第3行和第4行具有顶级const ,因为p1无法修改。 第2行没有顶级const ; p1 可以修改,但它指向的int不能。 Non-class types with top-level const must be initialized in the definition. Lines 3 and 4 have top-level const, in the sense that p1 cannot be modified. Line 2 does not ...
  • WINAPI不是返回类型,它是扩展到函数的特定实现修饰或属性的宏。 在这个例子中,它指定了调用约定,相当于__stdcall 。 在语法上,WINAPI大致(但不完全)等同于static的存储类说明符。 WINAPI isn't a return type it's a macro expanding to an implementation specific decoration or attribute for the function. In this instance it specifies th ...
  • 修改为H2C03的答案... 你的第一个deref将你带入数组1 dimmension。 具体而言,它会让您指向'1'的条目。 这里大多数人似乎都不知道接下来会发生什么。 此时' p'仍被视为指针。 它相信它包含地址'1'。 当你做'+1'时,你实际上正在进行指针运算。 由于sizeof(int )是(通常)4,因此您只需打印矩阵+4的第一个元素。 因此+2转换为+8,因为指针算术总是按照指针指向的'东西'的大小完成的。 所以你得到5和9。 代码的快速解除将显示出来。 mov eax, DWORD PTR ...
  • 这是因为语言规范如此(独立于每种语言)。 在C和C ++中,字符串文字都是无名对象 ,左值。 既然它是一个对象,你可以用指针指向它。 同时{1, 2, 3, 4}只是一个不代表对象的句法结构。 它只是形成聚集初始化语法的正式字符序列。 与此同时,在C语言中(自C99以来)有一个称为复合文字的功能,它允许人们形成聚合类型的无名对象。 例如,以下初始化是有效的 int *ival = (int []) {1, 2, 3, 4}; 这基本上是第一个声明的“int数组”对应。 所以,从C的角度来看,你的第二个声明 ...
  • int **p在栈上声明一个指向堆的指针的指针。 每个指针指向堆上的整数或整数数组。 这个: int **p = new int*[100]; 意味着您在堆栈上声明了一个指针并将其初始化,以便它指向堆上的100个指针数组。 目前,这100个指针中的每一个都没有指向任何地方。 “无处”是指它们既不指向有效的内存块,也不指向它们。 它们没有被初始化,因此它们包含了一些垃圾值,这些垃圾值在分配指针之前存储在内存中。 在使用之前,你应该在循环中给他们分配一些明智的东西。 请注意,如果将new返回值赋给它们, p[ ...
  • 如何(int*&)p->data = (int*)malloc(sizeof(int)); “? (int *)给出指针值本身,即它类似于说0x12345678 = malloc(sizeof(int)); 。 顺便说一句,为像int这样小的东西进行mallocing非常浪费。 编辑: 这可能仅适用于C ++,而不适用于C. 你为什么要放在第一位? 您正在为void指针指定一个void指针。 不方便吗? 为什么演员? 如果你真的想自娱自乐,你可以做一些愚蠢的事情,比如*(int **) &(p->data) ...
  • 这样看: q == &a *q == a **q == *a 您没有尝试打印&a 。 如果你这样做,你会发现它具有与a相同的值。 由于&a == a ,和q == &a ,和*q == a ,通过传递性q == *q 。 如果你想知道为什么&a == a ,请查看为什么数组变量的地址与它自身相同? Look at it this way: q == &a *q == a **q == *a You didn't try printing &a. If you do, ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)