不是很明白定义的时候有时候名称前面需要加*号,有的时候不加,想知道加与不加的区别,并且代表什么意思,希望大家能解释下,我新手,所以希望能尽量说的通俗点。希望不要仅限于,地址,与值之间区别的回答。
下面是一个我不明白的例子。
FILE *file=fopen("/tmp/words.txt","r");
char word[100];
其中,为什么定义file的时候需要加*号,而像其他int char等类型变量的时候又不需要加呀。

解决方案 »

  1.   

    加*表示是一个指针,不是int char就不加,如果要定义一个指针变量也需要加*的
      

  2.   

    int char 是基本类型的变量 不需要指针来管理
    FILE NSString 等类型都属于引用类型 也就是对象 需要用*来修饰和调用如果楼主是学java或者c#转型的 其实也可以这么对比
    其实 java里 string 或者 file 声明的时候 String str 或 File file
    也是声明了一个引用,只不过不用*来区分而已
      

  3.   

    fopen()这个函数的返回值就是FILE *,,,