int main() { int a = 3; int *b = &a; cout << "a:" << a << endl; cout << "b:" << b << endl; *b = 10; cout << "&a:" << &a << endl; cout << "b:" << b << endl; system("pause"); }
时间: 2023-08-20 15:20:15 浏览: 75
这段代码是一个简单的 C++ 程序,它定义了一个整数变量 a,将其值设为 3,然后定义了一个指向 a 的指针变量 b,最后输出了 a 和 b 的值。接着将 b 指向的内存地址的值改为 10,再输出 a 和 b 的值。最后使用 system("pause") 命令暂停程序的执行,以便查看程序输出的结果。
相关问题
请运行一下下面的代码int main() { int a = 10; int * p; p = &a; //指针指向数据a的地址 cout << *p << endl; //* 解引用 cout << sizeof(p) << endl; cout << sizeof(char *) << endl; cout << sizeof(float *) << endl; cout << sizeof(double *) << endl; system("pause"); return 0; }
好的,这段代码的作用是定义一个整型变量 a 并赋值为 10,然后定义一个整型指针 p,将其指向 a 的地址,输出指针所指向的数据(即 a 的值),以及指针 p 的大小,以及不同类型指针的大小。
代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int a = 10;
int *p;
p = &a;
cout << *p << endl;
cout << sizeof(p) << endl;
cout << sizeof(char *) << endl;
cout << sizeof(float *) << endl;
cout << sizeof(double *) << endl;
system("pause");
return 0;
}
```
运行结果为:
```
10
8
8
8
8
请按任意键继续. . .
```
其中,指针 p 的大小为 8 字节,这是因为在 64 位操作系统中,指针的大小为 8 字节;而 char、float、double 类型的指针大小也均为 8 字节。
#include<iostream> #include<string> using namespace std; //全局变量 int a; int b; //const修饰的全局常量 const int e = 0; const int f = 0; int main() { //静态变量 static int c; static int d; cout << "以下是他们的地址" << endl; cout <<"全局变量a:"<< (int)&a << endl; cout <<"全局变量b:"<< (int)&b << endl; cout << "静态变量c:" << (int)&c << endl; cout << "静态变量d:" << (int)&d << endl; //const 修饰的全局常量 cout << "全局常量e:" << (int)&e << endl; cout << "全局常量f:" << (int)&f << endl; //字符串常量 cout << "字符串常量g:" <<(int)&"pppp" << endl; cout << "字符串常量h:" <<(int)& "qqqq" << endl; system("pause"); return 0; }改正
这段代码存在几个问题:
1. 在头文件中缺少#include<cstring>,应该加上以使用字符串常量。
2. 在输出字符串常量的地址时,应该使用指针类型,而不是用int类型强制转换。
3. 代码缺少注释,不便于阅读和理解。
下面是改正后的代码:
```c++
#include<iostream>
#include<string>
#include<cstring> //添加头文件
using namespace std;
//全局变量
int a;
int b;
//const修饰的全局常量
const int e = 0;
const int f = 0;
int main() {
//静态变量
static int c;
static int d;
//输出各种变量的地址
cout << "以下是他们的地址" << endl;
cout <<"全局变量a:"<< (int)&a << endl;
cout <<"全局变量b:"<< (int)&b << endl;
cout << "静态变量c:" << (int)&c << endl;
cout << "静态变量d:" << (int)&d << endl;
cout << "全局常量e:" << (int)&e << endl;
cout << "全局常量f:" << (int)&f << endl;
//字符串常量
char g[] = "pppp"; //定义一个字符串数组
char h[] = "qqqq";
cout << "字符串常量g:" << static_cast<void*>(g) << endl; //使用指针类型输出字符串常量的地址
cout << "字符串常量h:" << static_cast<void*>(h) << endl;
system("pause");
return 0;
}
```
阅读全文