关于C中typedef的困惑

时间:2017-07-30 10:22:08

标签: c typedef

在以下代码段中

int* p1, p2;

p1是整数指针变量,p2是整数变量。确定。

但是,在以下代码片段中

 typedef int* ptr; 
 ptr p1, p2;

为什么p1p2都是整数指针变量?

1 个答案:

答案 0 :(得分:0)

是。为什么?因为它们都是int *类型,它是int *p1, p2;

的别名

你问题的第一个例子: int *p1; int p2;

相当于

public long seriesLoop() {
    long answer = a;        
    for (long i = 1; i < n; i++) {          
        long delta = a;             
        for (long j = 0; j < i; j++) {
            delta *= r;             
        }           
        answer += delta;        
    }       
    return answer;  
}

public long seriesClosedForm() {
    return (long) (a * (1 - Math.pow(r, n)) / (1 - r));     
}

这就是为什么p1是指向int的指针而p2只是int

的原因