美文网首页
int不能直接赋值给int*

int不能直接赋值给int*

作者: 体胖勤跑步 | 来源:发表于2017-09-06 17:15 被阅读0次

在c++里定义指针变量时:
int *a;或者 int *a = 0;
都是可以的,我们知道指针是指向内存地址的变量,像这样的0x40234b
按理说这是一个16进制数,那像这样定义应该也是可以的:
int *a = 1;
反正都是数啊,实际确是出错,给出的错误是:
error: invalid conversion from 'int' to 'int*' [-fpermissive]
int *a = 1;
这是啥意思呢?int不能赋值给int*,这是什么东东,int和int*有什么区别呢?都是整数啊,怎么会错呢!经过多方查证,参考如下:
char b = 10;#这样可以
string b = 10;#这样不行
char和string都是字符啊,但是这样不行。
总之,int*和string这种不能直接赋值,原因是因为它们是类型,啥是类型?
比如自定义一个类型:class exp
那么exp b;或者exp b = 0;#是可以的
exp b = 1;#这样不对

相关文章

  • int不能直接赋值给int*

    在c++里定义指针变量时:int *a;或者 int *a = 0;都是可以的,我们知道指针是指向内存地址的变量,...

  • 二维数组

    5.二位数组:int[][] a = new int[][]{} {}确定数组长度 以及给数组赋值int a...

  • 1-4 作业汇总

    作业 1 、 int sk#a = 1 ;//(#不能出现) int @123 = 12;//(@后面不能直接跟数...

  • swift和OC混编的坑

    在swift 中的类变量声明Int类型时不能是Int?,否则在OC中读不出这个变量.如果声明Int变量同时赋值就可以.

  • C#数组

    创建 一维数组int[] n =new int[10]; //不赋值int[] n = {1,2,3}; ...

  • 指针常量、常量指针

    一个数组int b[]就相当于一个int *const p,常量指针值不变,所以两个数组不能赋值 int i=10...

  • python的标准数据类型

    1、数字 int 、float、complex Python给变量赋值时不需要预先声明变量类型。int的大小则没有...

  • iOS自增自减

    int a = 10; int b = a++; 遵从先赋值,后加一的原则: 即: b = a; a = a ...

  • Java 类的一些知识点_1

    1、引用与= int i = 25; 这里的“=”指的是赋值的含义,将25赋值给变量iMyClass myClas...

  • java.lang.Integer源码分析

    1. 描述 API:int的包装类型,内部包含了一个int字段。 关键字段: 2. 构造函数 第一种 直接赋值:传...

网友评论

      本文标题:int不能直接赋值给int*

      本文链接:https://www.haomeiwen.com/subject/mpwbhxtx.html