百科问答小站 logo
百科问答小站 font logo



在指针的概念中为什么有几个描述是这样的呢? 第1页

  

user avatar   inversioner 网友的相关建议: 
      

手机打字没有代码编辑模块么。。。知乎出来挨打()

int *p;

这个并不是定义一个「*p」的意思。起初我觉得这个语法很奇怪,不过就是这样的,*符号只是为了标注「p是一个指针」。

而在其他语句中*的含义就确实是指取「指针所指的东西」。比如:

int a=1;

int *p=&a;

printf("%d",*p);

运行结果就是输出1。

int *p=(int*) 40000;

(类型)是一个强制类型转换符。这句话的意思是把int型常量40000强制转换为int*型常量,然后赋予指针p。

至于sizeof(T*),这个式子的值就是类型T*的字长。T*类型相当于一个地址的代号,所以与T是什么无关。每个指针p的字长都是sizeof(T*),占用的空间当然都是4个字节。


1.建议精简问题描述,否则许多潜在回答者会失去耐心。我不是大佬,但是我知道许多大佬都是有自己的脾气的。

2.不要死读书


int *p与int* p没有区别。

运行结果




  

相关话题

  C++ 中 new 和定位 new 的返回值都是 void*,却为什么可以被赋值给不同类型的指针? 
  指向指向指向指针的指针的指针的指针有什么用? 
  C++ 中 new 和定位 new 的返回值都是 void*,却为什么可以被赋值给不同类型的指针? 
  C++ 中,如果指针换了被指向的东西,那被指向的原来的东西(是被 new 出来的)所占的内存会立刻被释放吗? 
  C++ 11为什么引入nullptr? 
  指针是如何记住步长的? 
  ”返回在函数内malloc的内存是安全的,但是容易造成问题,最好的做法是返回传入的指针。“怎么理解? 
  ”返回在函数内malloc的内存是安全的,但是容易造成问题,最好的做法是返回传入的指针。“怎么理解? 
  为什么有人讨厌指针? 
  关于 C++ 顶层 const 和底层 const? 

前一个讨论
如何证明下面的积分不等式?
下一个讨论
如何计算如图极限?





© 2024-11-17 - tinynew.org. All Rights Reserved.
© 2024-11-17 - tinynew.org. 保留所有权利