c语言中 a* 和 *a的区别
时间: 2023-03-06 12:21:17 浏览: 498
在C语言中,a*和*a具有不同的含义。
a*表示将指针a所指向的内存空间解引用,即取出该内存空间中存储的值。
而*a表示将a这个变量本身视为指针,然后解引用,即取出该指针所指向的内存空间中存储的值。
因此,a*和*a的区别在于操作对象不同,一个是指针,一个是指针所指向的内存空间。
相关问题
c语言中 a *a **a 的区别
在C语言中,a、*a和**a具有不同的含义和用途。
1. a: a是一个变量或者数组的名称。它表示该变量或数组的值。
2. *a: *a表示指针变量a所指向的内存地址上存储的值。在这种情况下,a必须是一个指针变量。
3. **a: **a是二级指针,表示指向指针的指针。它可以用于访问指向指针的指针所指向的内存地址上存储的值。
简而言之,a表示变量或数组的值,*a表示指针变量所指向的值,**a表示指向指针的指针所指向的值。它们在C语言中具有不同的语法和语义。
C语言中 int *a;和a[]
int *a; 声明了一个指针变量a,它可以存储一个int类型变量的地址,也就是说,a指向一个int类型的变量。
而a[]是数组的语法表示,它表示a是一个数组名,数组中的每个元素都是int类型。注意,数组名a本身就代表了数组第一个元素的地址,因此a和&a[0]是等价的。
如果使用a[]的方式来访问数组元素,可以使用a[i]来访问第i个元素,其中i是一个整数下标,从0开始计数。
如果使用指针变量a来访问数组元素,可以使用*(a+i)或者a[i]来访问第i个元素,其中i同样是一个整数下标,从0开始计数。注意,*(a+i)和a[i]是等价的。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)