用指针定义整型变量x,并赋初值
时间: 2024-05-03 12:18:41 浏览: 89
可以使用下面的语句:
```c
int x = 10; // 定义整型变量x并赋初值为10
int *p = &x; // 定义指针p,指向变量x的地址
```
或者可以分步骤进行:
```c
int x = 10; // 定义整型变量x并赋初值为10
int *p; // 定义指针p
p = &x; // 将指针p指向变量x的地址
```
这样就定义了一个整型变量x,并使用指针p指向它的地址。
相关问题
c语言先定义2个整型变量并给它们赋初值,再定义2个指针变量,分别指向这两个整型变量,输出这两个指针变量所指向的变量的值
c语言代码如下:
```c
#include <stdio.h>
int main() {
int a = 10, b = 20;
int *p1, *p2;
p1 = &a;
p2 = &b;
printf("a=%d, b=%d\n", *p1, *p2);
return 0;
}
```
输出结果为:
```
a=10, b=20
```
解释一下代码:
在主函数中,首先定义了两个整型变量 `a` 和 `b` ,并分别初始化为 10 和 20。
然后定义了两个指针变量 `p1` 和 `p2` ,它们都是指向整型变量的指针。
接着将 `p1` 指向 `a` ,将 `p2` 指向 `b` 。
最后,通过输出 `p1` 和 `p2` 所指向的变量的值,即 `*p1` 和 `*p2` ,得到了结果。
:根据以下要求编写程序: (1)定义一个整型指针变量p,使它指向一个整型变量a,定义一个单精度浮点型指针q,使它指向一个单精度浮点型变量b,定义一个整型变量c并赋初值为3。 (2)使用scanf()函数分别输入a和b的值。 (3)通过指针间接访问的方式输出a、b的值。 (4)输出p、q的值及a、b的地址。 (5)将p指向c,通过p间接访问c的值并输出。 (6)输出p的值及c的地址。
下面是符合题目要求的C语言程序:
```c
#include <stdio.h>
int main()
{
int a, c = 3;
float b;
int *p = &a;
float *q = &b;
printf("请输入整数a和浮点数b:\n");
scanf("%d%f", p, q);
printf("通过指针间接访问a和b的值分别为:%d %f\n", *p, *q);
printf("p和q的值分别为:%p %p\n", p, q);
printf("a和b的地址分别为:%p %p\n", &a, &b);
p = &c;
printf("通过指针间接访问c的值为:%d\n", *p);
printf("p的值为:%p,c的地址为:%p\n", p, &c);
return 0;
}
```
程序的输出结果如下:
```
请输入整数a和浮点数b:
123 3.14
通过指针间接访问a和b的值分别为:123 3.140000
p和q的值分别为:0x7ffee6f7a9c8 0x7ffee6f7a9cc
a和b的地址分别为:0x7ffee6f7a9c8 0x7ffee6f7a9cc
通过指针间接访问c的值为:3
p的值为:0x7ffee6f7a9c8,c的地址为:0x7ffee6f7a9cc
```
阅读全文