C语言下标法和指针法调用数组

2024-12-19 14:22:53
推荐回答(1个)
回答1:

1.p[i]好一些
2.如果是一般类型比较小的,比如int p[10], char p[10]这个用指针和用数组没啥区别
但是如果是一个大型的结构体,比如
struct str
{
int a[1000],
char b[100],
}p[10];

这个结构体的大小为4100

这个时候,假设i = 2
*(p + i )就相当于*(p + 2),相当于p夸了2个单位的结构体大小(4100)才指到p的第二个位置,然后才取值
而p[2]就直接可以取到第二个结构体的值了

3,第二种方法效率高一些,原因如第二个

4,这个我也说不好。你做多了C的东西自然而然就知道了