Objective-c打印常量无效变量

Objective-c打印常量无效变量,objective-c,pointers,printf,Objective C,Pointers,Printf,打印常量void的值*我需要做什么 例如: - (void) printConstVoid:(const void*)value { NSLog("%?",value); //or anything else print the value } 非常感谢 NSLog( @"%p", value ); 它将打印指针值内存地址。问题是,const void*只是表示这是指向某个对象的指针。它不告诉您实际是什么,所以打印它的唯一通用方法是使用MacMake提到的%p格式说明符,它将显示指针

打印常量void的值*我需要做什么

例如:

- (void) printConstVoid:(const void*)value
{
    NSLog("%?",value); //or anything else print the value
}
非常感谢

NSLog( @"%p", value );
它将打印指针值内存地址。

问题是,const void*只是表示这是指向某个对象的指针。它不告诉您实际是什么,所以打印它的唯一通用方法是使用MacMake提到的%p格式说明符,它将显示指针值


为了打印指向的对象,您需要知道该对象是什么。事实上,为了使用const void做任何事情,除了传递它之外,还需要将它转换为更具体的类型。常量void*在您强制转换之前是完全不透明的。

它完全取决于您存储在那里的内容—可打印字符,还是其他内容?或者你只是想要指针本身的值,即它指向的地址?你想要打印内存地址,还是内存地址指向什么?@PaulR这是一个nsdata实例,但没有通用的方法?@zneak我想要打印变量的值:@ademar111190,我们得到了。但是,对于你来说,变量的值是否是它的实际值,即指针,换句话说,是一个表示内存地址的整数,还是它所指向的值,这是不明确的。没有办法打印值吗?@ademar111190,你应该编辑你的问题,以包含你所期望的内容。空指针意味着语言和库不知道引用的数据类型,因此我们也帮不了什么忙。@zneak明白了,我去添加详细信息,非常感谢:指针的打印工作正常,我想看看值,如果possible@ademar111190-指针的值是其内存地址。这与指针指向的值不同。明白了,所以我像MacMake一样打印,但由于详细的解释,事实并不是真的明白const voids*是什么。