两个文件指针指向文件同一位置,对其中一个指针进行文件操作,则另一个指针也会同步改变;
两个普通指针指向同一地址,改变其中一个指针值,另一个指针不会改变。
文件指针
#include <stdio.h>
int main()
{
FILE *p = NULL;
FILE *q = NULL;
p = fopen("./test.txt", "rb");
fseek(p, 100, SEEK_SET);
printf("p pos is %lld\n", (long long int)(ftell(p)));
q=p;
fseek(q, 100, SEEK_CUR);
printf("p pos is %lld, q pos is %lld\n", (long long int)(ftell(p)), (long long int)(ftell(q)));
fclose(p);
return 0;
}
运行结果:
普通指针
#include <stdio.h>
static long long int x[5] = {1,2,3,4,5};
int main()
{
long long int *p,*q;
p = &x[1];
printf("p pos is %lld\n", *p);
q=p;
printf("q pos is %lld\n", *q);
q++;
printf("p pos is %lld, q pos is %lld\n", *p, *q);
return 0;
}
运行结果: