指针的定义方法

  • Post author:
  • Post category:其他


1、简单的指针

数据类型    *  指针变量名;

如:

int  *p ;     // 定义了一个指针变量p

2、指针的运算符


&

(取地址)

*

(取值)

&:获取一个变量的地址

* :在定义一个指针变量时,起到标识作用,意思是定义了一个指针变量。除此以外,获取这个指针指向的地址内容。

例1

#include <stdio.h>

int main() 
{
    
//定义一个普通变量
   int  b =10;
//定义一个指针变量
   
   int *p;

//给指针变量赋值
//将b的地址保存在p中
   
   p = &b;   //p保存了b的首地址
   
   //普通变量
   printf("b = %d\n",b);
   
   printf("b=%p\n",&b);
   
   //指针变量
   printf("*p=%d\n",*p);    //*p 表示获取指向该地址里面的值,即 10
   
   printf("p=%p\n",p);   //p是首地址了,无需再&p
   return 0;
}

运行结果

b = 10
b= 0x7ffcc45a8418
*p= 10
p= 0x7ffcc45a8418

扩展:如果在一行中定义多个指针变量,

每一个指针变量前面都需要加 * 来修饰

int *p ,  *q  ;   //定义了两个整形的指针变量p和q

int *p  , q; // 定义了一个整形指针变量p  ,和整形的变量q(只是整形

不是整形指针

3、指针的大小

在32位系统下,所有类型的指针都是4个字节。

在64位系统下,所有类型的指针都是8个字节。

#include <stdio.h>

//系统为64位
int main() 
{
    
      char   *a ;
      short  *b ;
      int    *c ;
      long   *d ;
      float  *e ;
      double *f ;
   
   printf("sizeof(a) = %d\n",sizeof(a));
   printf("sizeof(b) = %d\n",sizeof(b));
   printf("sizeof(c) = %d\n",sizeof(c));
   printf("sizeof(d) = %d\n",sizeof(d));
   printf("sizeof(e) = %d\n",sizeof(e));
   printf("sizeof(f) = %d\n",sizeof(f));
   

 
   return 0;
}

运行结果

sizeof(a) = 8
sizeof(b) = 8
sizeof(c) = 8
sizeof(d) = 8
sizeof(e) = 8
sizeof(f) = 8



版权声明:本文为weixin_47783699原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。