有以下变量说明,下面不正确的赋值语句是( )。 int a=5, b=10, c; int p1 = &a, p2 = &b; (A)p2 = b; (B)p1 = a; (C)p2 = p1; (D)c = p1 (p2);
时间: 2024-05-22 11:12:01 浏览: 38
&b; c = a + b; char str[] = "Hello world";
int *p2 = &c;
b = a;
*p1 = 20;
str[0] = 'h';
不正确的赋值语句是 *p1=20;,因为p1是一个指向整型变量的指针,而*p1表示指针所指向的变量的值,因此*p1=20表示将b的值改为20,而不是将p1指向的变量的值改为20。
相关问题
int k=2;int *p1,*p2;且p1与p2均指向变量k,下面不能正确执行赋值语句是k=*p1+*p2; p2=k ; p1=p2 ; k=*p1*(*p2);
下面不能正确执行赋值语句是 p1=p2;。
因为p1和p2都是指向int类型的指针变量,而p2是一个int类型的变量。在这种情况下,将p2的值赋给p1是不合法的,因为它们的类型不匹配。正确的做法是将p2的地址赋给p1,即 p1=&p2; 。
所以正确的代码应该是:
```c++
int k=2;
int *p1, *p2;
p1 = &k;
p2 = &k;
k = *p1 + *p2;
p2 = &k;
p1 = p2;
k = *p1 * (*p2);
```
如何理解这行代码int a = 10;int *p1 = &a;int **p = &p1;
这行代码定义了一个整型变量a,其值为10。接着定义了一个指向a的指针变量p1,它的值为a的地址。最后,定义了一个指向指针变量p1的指针变量p,它的值为p1的地址。
我们可以通过p1来访问a的值,例如*p1就表示a的值。而通过p,我们可以访问p1的值,例如*p就表示p1的值,即a的地址。同时,通过**p,我们也可以访问a的值,例如**p就表示a的值。
这样的多级指针在动态内存分配和二维数组等场景下非常有用。例如,我们可以使用双重指针来动态分配一个二维数组,如下所示:
```
int **p;
int n = 3, m = 4;
p = (int **)malloc(sizeof(int*) * n);
for (int i = 0; i < n; i++) {
p[i] = (int *)malloc(sizeof(int) * m);
}
```
这里,我们先分配一个指向指针变量的指针p。然后,我们通过循环分别为每个指针变量分配一个整型数组,从而动态分配了一个n行m列的二维数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)