在C/C++中,*arr 和 *(arr+1) 表示数组元素的不同访问方式,具体区别如下:
• *arr: 这表示对指针arr所指向的内存地址的内容进行解引用。如果arr是一个指向数组起始位置的指针,那么*arr就是访问数组的第一个元素。例如,如果arr是一个整数数组的指针,*arr就相当于arr[0]。
• *(arr+1): 这个表达式首先计算arr+1,它表示arr指向的地址之后的下一个元素的地址(因为arr指向数组的首元素,所以arr+1指向第二个元素)。然后*(arr+1)对这个新的地址进行解引用,即访问数组的第二个元素。同样以整数数组为例,*(arr+1)相当于访问arr[1]。
总结来说,*arr访问数组的第一个元素,而*(arr+1)访问数组的第二个元素。这两个表达式展示了如何通过指针算术和解引用操作来访问数组的不同元素。
09-30
482
05-16
1253
02-09
291
12-15
2399