int *a; int &a; int & *a; int * &a 比较

int *&v1 == v1是一个引用,指针的引用,也就是说,这是传递进来指针的别名。

int i=3;

int *a = &i;//这里a是一个指针,它指向变量i

int &b = i;//这里b是一个引用,它是变量i的引用。 可以理解为  b is now " in the name of"  i 。i 有一绰号 b

int * &c = a;//这里c是一个引用,它是指针a的引用

int & *d;//这里d是一个指针,它指向引用。看编译的错误就知道(a pointer to ‘int&’),.但引用不是实体,所以这是错误的,报错:error: cannot declare pointer to ‘int&’

int * &c = a; 

怎么才用意理解呢? 变量前面的符号决定了它自身的类型(& 引用)类型与紧跟在类型后面的符号,决定了其指向的类型( int *) ---int 的 指针。

c是一个引用, 对 一个 int 指针的引用。  引用c指向了int型指针a, 即引用c直接对int型指针a进行操作。

int(*func)(int,int);

表示一个指向含有两个int参数并且返回值是int形式的任何一个函数指针. 假如存在这样的一个函数:
  int add2(int x,int y)
  {
  return x+y;
  }
  那么在实际使用指针func时可以这样实现:
  func=&add2; //指针赋值,或者func=add2; add2与&add2意义相同
  printf("func(3,4)=%d\n",func(3,4));

int (*n)[10]

首先由于()的关系,*与n先组合,表示n是一个指针.
而指针的类型就是外层的int [10].
结合起来就是:n是一个指向含有十个整型元素的数组的指针.

时间: 2024-11-05 06:02:21

int *a; int &a; int & *a; int * &a 比较的相关文章

void f(int(&p)[3]){} 和void f(int(*p)[3]){}的区别

#include<iostream> using namespace std; void f(int(&p)[3]){ cout<<p[0]<<endl; cout<<p[2]<<endl; } int main(){ int a1[3]={1,2,3}; cout<<a1<<endl; cout<<&a1<<endl; f(a1); } 编译后输出: 0xbfbb8eb4 0xbf

解决warning: format ‘%x’ expects type ‘unsigned int’, but argument 2 has type ‘int *’

[[email protected] c]# gcc MemTest.c -o MemTest1 -WallMemTest.c: In function 'main':MemTest.c:24: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'int *'MemTest.c:39: warning: format '%x' expects type 'unsigned int', but arg

C++中int转string与string转int

#include "stdafx.h" #include "string" #include "iostream" #include "vector" #include "sstream" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //string 转 int stringstream ss; string str; int i;

&quot;int?&quot; 是什么类型?和&quot;int&quot;有何区别

int?:表示可空类型,就是一种特殊的值类型,它的值可以为null用于给变量设初值得时候,给变量(int类型)赋值为null,而不是0int??:用于判断并赋值,先判断当前变量是否为null,如果是就可以赋役个新值,否则跳过public int? a=null:public int b(){return this.a ?? 0;} 值类型后面加问号表示可为空null(Nullable 结构) Nullable是.NET 2.0中新提供的一种用于标明一个值类型是否可以为空的技术. 对于一个类型,如

int a[5]={}, &amp;a+1与(int*)a+1的区别

#include <iostream> #include <typeinfo> using namespace std; int main() { int b, *pb; char *pb2; char *pb3; //&b = 0x001af74 pb = &b + 1; //0x001af78 int* pb2 = (char*)&b + sizeof(b); //0x001af78 char* pb3 = (char*)&b + 1; //0x

C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识

自己也是刚学习C#程序设计语言,总结了一点知识点,想分享给大家.毕竟刚学习这门语言,学得不深,哪里如果有错误,请帮个忙指出一下哈,谢谢! 1.(int)可用于单精度.双精度等其他数值类型的转换(到整型int),不能用于转换string类型,例如: 这里用(int)转换string是不可以的,系统会报错,程序是不能运行. using System.Collections.Generic; using System.Linq; using System.Text; using System.Thre

详解Integer.toString(int i)方法和String.valueOf(int i)方法

通过查看String类的源码: public static String valueOf(int i) { return Integer.toString(i); } 我们可以看到,String.valueOf(int i)其实是调用了Integer.toString(int i)方法的. 再次通过查看Integer类的源码我们可以看到: public static String toString(int i) { if (i == Integer.MIN_VALUE) return "-214

编写函数int count_number_string(char str[])和函数int maxnum_string(char str[])

题目如图: 这里不再赘述 代码: //字符串中统计与查询 //杨鑫 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXN 1000 char Str[MAXN]; /* *寻找字符串中最大的整数 * */ int maxnum_string(char str[]) { int i = 0, n = 0, maxNum = 0; while(str[i] != '\0') { if(

Service stopSelf(int statId)和onStartcommand(Intent intent,int flags,int startId)

Stopping a service A started service must manage its own lifecycle. That is, the system does not stop or destroy the service unless it must recover system memory and the service continues to run after onStartCommand() returns. So, the service must st

【c#基础】int 转换 string,string 转换 int

1.int 转换 string方法:toString() 或者 Convert.toString()举例: [code]phpcode://toString() int a =1; string b = a.toString(); //Convert.ToString() int a =1; string b = Convert.ToString(a); 2.string 转换 int(1)如果确定字符串中是可以转成数字的字符,可以用int.Parse(string s),该语句返回的是转换得到