指针的定义和使用

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

 

int main01()

{

//定义指针变量存储变量地址

  int a=10;

//指针数据类型,p是指针数据类型的变量。指针类型:数据类型*变量名

  int*p;

  p=&a;

  printf("%p\n",&a);

  printf("%p\n",p);

//通过指针间接改变变量的值

  *p=100;  

  printf("%d\n",a);

  printf("%d\n",*p);

 

  return 0;

//结果

}

 

int main02()

{

//所有指针类型存储的都是内存地址,内存地址都是一个无符号十六进制整型int类型

//在32位(x86)操作系统下所有指针类型都是4个字节大小;在64位(x64)操作系统下所有指针类型都是8个字节大小

//&是取地址符号, 表升维度;*是取值符号,表降维度

  char ch='a';

  char*p=&ch;

  printf("%d\n",sizeof(char*));

 

  int a=10;

//在这里是一个变量; //int*q = &a:在这里是一个地址

  int q=&a;  

//强制类型转换

  *(int*)q=100;

  printf("%d\n",sizeof(q));

 

//指针在内存中占的字节大小

  printf("%d\n",sizeof(int*));

  printf("%d\n", sizeof(short*));

  printf("%d\n", sizeof(long*));

  printf("%d\n", sizeof(long long*));
  printf("%d\n", sizeof(float*));
  printf("%d\n", sizeof(double*));

 

  return 0;

//结果

32位(x86)

 

 

64位(x64)

}

 

posted @ 2020-08-22 15:46  wh19991213  阅读(611)  评论(0)    收藏  举报