(Xcode),第一次用于指针研究的Objective C - 我需要更多的库吗?

时间:2017-06-14 09:01:51

标签: c pointers

(#) include < stdio.h >

int main () {

    int a = 10;
    int *p;

    p = &a;

    //Pointer arithmetic

    printf("Address p is %d\n", p);                       //error here
    printf("Value at address p is %d\n", *p);
    printf("Size of integer is %d bytes\n", sizeof(int)); //error  
    printf("Address p+1 is %d\n", p+1);                   //error as well
    printf("Value at address p+1 is %d\n", *(p+1));

    return 0;
}

好的,如上所述,我正在研究Objective-C下的指针。 注意:这是我第一次使用Mac Sierra 10.12.5在Xcode版本8.3.3下学习。

我遇到的错误是,我引用:&#34;格式指定类型&#39; int&#39;但是参数的类型为&#39; int *&#39; &#34; 即可。

我是否需要下载其他库或者是他们缺少的东西 - 要淘汰这个错误?

非常感谢帮助和终端代码,以帮助解决此错误。

请和谢谢 - 道歉,这是我第一次使用stack-over-flow问题和网站。

1 个答案:

答案 0 :(得分:0)

  • %d是格式说明符。 %d特别用于打印int类型的参数。
  • p不是int,它是指向int的指针,类型int*
  • 要打印指针,请使用%p格式说明符。
  • *p的类型为int,因为您已取消引用指针。对于此类参数,您应使用%d

作为旁注,sizeof的结果不是int,而是另一个名为size_t的整数类型。要打印此文件,您需要使用%zu