关于int *a; int &a;a; int &a; *a; int * &a

.wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertical-align: -10%;-webkit-user-select: none;} .wiz-todo-label {margin-top: 8px; margin-bottom: 8px; line-height: 1;} .wiz-todo-label-checked { /*text-decoration: line-through;*/ color: #666;} .wiz-todo-label-unchecked {text-decoration: initial;} .wiz-todo-completed-info {padding-left: 44px; display: inline-block; } .wiz-todo-avatar { width:20px; height: 20px; vertical-align: -20%; margin-right:10px; border-radius: 2px;} .wiz-todo-account, .wiz-todo-dt { color: #666; }

  1. int i;
  2. int *a = &i;//这里a是一个指针,它指向变量i
  3. int &b = i;//这里b是一个引用,它是变量i的引用,引用是什么?它的本质是什么?下面会具体讲述
  4. int * &c = a;//这里c是一个引用,它是指针a的引用
  5. int & *d;//这里d是一个指针,它指向引用,但引用不是实体,所以这是错误的
  6. 第二个问题:int * &a和int & *a
  7. 我在写这两句语句时,在int 和*(&)间空了一格,而后面的&(*)紧跟a。原因是:分析此类语句时,先看a前紧跟的是什么,它决定了a的类型。而int后的一个空格是为了防止int *a, b;//a是指针,而b不是。


来自为知笔记(Wiz)

关于int *a; int &a;a; int &a; *a; int * &a

时间: 2024-10-26 18:39:14

关于int *a; int &a;a; int &a; *a; int * &a的相关文章

C++中将int转变成string和string转变成int

int to string #include<iostream> #include<string> using namespace std; int main() { string s; char c[100]; int m=199; itoa(m,c,10); s=c; s.insert(0,"zhang"); cout<<s<<endl; return 0; } string to int #include<iostream&g

类模板相互引用的问题(错误:缺少类型说明符-假定为int。注意:C++不支持默认int)

问题描述: 现在有两个模板类(头文件A.h为1~14行,头文件B.h为15~27行): 1: /////////////////////////////////////////// 2: // file A.h 3: // 4: #include "B.h" 5: 6: template <class T> 7: class A 8: { 9: public: 10: T a; 11: B b_ptr; 12: A(): a(0), b_ptr(NULL) {} 13: }

int a[5]={1,2,3,4,5}; int *p=(int*)(&amp;a+1); printf(&quot;%d&quot;,*(p-1)); 答案为什么是5?

这个问题的关键是理解 &a a是一个数组名,也就是数组的首地址.对a进行取地址运算符,得到的是一个指向数组的指针!!!!这句话尤为重要!也就相当于int (*p) [5] = &a;p是一个指针,它指向的是一个包含5个int元素的数组!! 那么执行p+1后,p的偏移量相当于 p + sizeof(int) * 5 !! 而程序中强制将指针p转换成一个int* 那么 p -1 其实就是 p - sizeof(int)所以,p -1 指向了数组中得最后一个元素,也就是 5

C#,int转成string,string转成int

转载:http://www.cnblogs.com/xshy3412/archive/2007/08/29/874362.html 1,int转成string用toString 或者Convert.toString()如下 例如:int varInt = 1; string varString = Convert.ToString(varInt); string varString2 = varInt.ToString(); 2,string转成int如果确定字符串中是可以转成数字的字符,可以用

【Java】Arrays中之于int数组的方法,Integer数组与int数组

在java.util.*中,Arrays似乎很有用的样子,似乎用里面的方法就可以避免使用for循环要自己写对数组的查找.初始化.排序等方法了. 一.先说说Arrays中对整形数组真的有用的方法 1.首先是Arrays.toString() 一般,直接用System.out.println()打印数组,比如这样: int array[] = { 8, 7, 100, 88, 6, 4, 5, 33, 10 }; System.out.println(array); 出来的结果是一堆乱码: [Lja

C#/.NET整数的三种强制类型转换(int)、Convert.ToInt32()、int.Parse()的区别

这三种方式都是强制把内容转换为整数,但他们之间是有区别的,如下: 一.(int)适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型). 二.int.Parse(string sParameter)是个构造函数,参数类型只支持string类型,Parse就是把String类型转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string类型. 三.Convert.ToInt32()适合将Object类型转换为int型:Con

C++ 中类型转换 xmlChar * 与Char * 转换,Char *与int 转换,Char *与Float转换,int 与portNumBits转换

使用libxml2 得到一个节点的内容: xmlChar *value = xmlNodeGetContent(node) 1.XmlChar 转换成Char char * stream = (char *) value; 2.Char *与  int 转换 int x = atoi(stream); #include "stdio.h" #include "stdlib.h" main() { char *p="1234567"; int x;

(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的double型变量x,

package com.hanqi.test; //创建接口 public interface ShapePara { //获取面积的方法 double getArea(); //获取周长的方法 double getCircumference(); } package com.hanqi.test; public class Circle implements ShapePara { //定义圆心 public double radius; //定义圆心的横向坐标 private double

C/C++中各种类型int、long、double、char表示范围(最大最小值)(转)

1 #include<iostream> 2 #include<string> 3 #include <limits> 4 using namespace std; 5 6 int main() 7 { 8 cout << "type: \t\t" << "************size**************"<< endl; 9 cout << "bool: \t

整型变量(int)与字节数组(byte[])的相互转换

// int2byte.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> /* #define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8)) #define MAKELONG(a, b) ((LONG