c++ - 指针:C++ 要求所有声明都有类型说明符

标签 c++ c pointers types

我目前正在学习 C 编程,并且在我正在做的练习之一中遇到了问题。

在尝试解码指针如何工作时,我收到以下错误:

C++ 要求所有声明都有类型说明符

我的程序:

    #include <iostream>
    #include <stdio.h>

    int a = 1, b = 2;
    double c = 3.1415;
    int *x, *y;

    x = &a;
    y = &b;


    int main() {

        printf("&a = %p\n", &a);
        printf("&b = %d\n", &b);
        printf("&c = %f\n", &c);
        printf("&x = %p\n", &x);
        printf("&y = % \n", &y);
        printf("x = %p\n", x);
        printf("y = %p\n", y);
        printf("a = %e\n", a);
        printf("b = %d\n", b);

        printf("*y = %d\n", *y);
        printf("c = %8.4f\n", c);
        printf("c = %4.2e\n", c);


    }

它是

x = &a;
y = &b;   

显示为错误。

任何帮助将不胜感激!

亲切的问候

最佳答案

不能在函数之外有语句。但是您可以对声明进行初始化。

int *x, *y;

x = &a;
y = &b;

不正确,但是

int *x = &a, *y = &b;

是。

尽管我会这样写以使其更具可读性(特别是如果您的目标是 C++):

int* x = &a;
int* y = &b;

关于c++ - 指针:C++ 要求所有声明都有类型说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34962584/

相关文章:

c++ - 为什么 C++ 允许我们在声明变量时将变量名括在括号中?

C 通过指针将数组传递给函数

c++ - 检索函数调用图

c++ - 指针 - 动态分配困惑

c++ - 在组合对之间找到共享元素的最佳方法

c - 在内核中处理线程的正确方法?

c - 如何让 Pro*C 处理#warning 指令?

c - Flex 分析器 -- bash 语法错误接近意外标记 '('

c++ - 将 ptr 显式转换为 "ptr to a ptr"

c++ - 为什么 stringstream >> 在失败时更改目标值?