在c语言指针中我遇到下面的问题:
下面的代码一和代码二都是正确的吗?如果都是对的,意义有什么不同?
//代码一
int* a:
int* b=&a:
//代码二
int* a:
int** b=&a:
在c语言指针中我遇到下面的问题:
下面的代码一和代码二都是正确的吗?如果都是对的,意义有什么不同?
//代码一
int* a:
int* b=&a:
//代码二
int* a:
int** b=&a:
首先 问题是 指针需要初始化 a指针变量没有初始化
然后假如你已经初始化了int *a 比如已经int i=10;int*a=&i;
接下来我逐行解答 代码1
2. 定义了个整型指针型变量a指向 i的地址 解引用就是 10
3. 定义了个整型指针变量b 取出变量a的地址放到了变量b b是一级指针他只能解一级引用为指针a的地址 无法解二级引用
代码2
5. 定义指针a
6.定义二级指针b指向a的地址 即b存放a变量的地址 a变量自己指向个地址 解一级引用就是 a的地址 解二级引用就是a地址存放的值