博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言-指针
阅读量:6204 次
发布时间:2019-06-21

本文共 1349 字,大约阅读时间需要 4 分钟。

初始换赋值
存储类型 数据类型*指针变量名 = 初始化地址
例:
    int i;
int*p=&i;    p就是i的地址
 
int I;
int*p=&i;
int*q=p;    p也可以等于q作为地址
 
//内存地址...内存中存储的编号
#include <stdio.h>
int main(int argc, const char * argv[]) {
   
//    指针的声明
    int *p1;//声明了一个指向整型空间的指针变量  *号位置不作严格要求 int* p;
    float *p2;// 声明一个指向实型空间的指针变量
    char *p3;//声明了一个指向字符型空间的指针变量
   
    int a=12;
    float b=3.14;
    char c='m';
   
//    指针的赋值
    p1 = &a;//指针平指向了整型空间a
   
    p2=&b;//指针平指向了实型型空间b
    p3=&c;//指针平指向了字符型空间c
   
   
    printf("%d\n",*p1);//  *p1 表示取指针p1指向的空间的值=12
   
   
    int array[5]={1,2,3,4,5};//数组名array表示数组的首地址(第一个元素的地址)
//    printf("%p\n",array);
//    printf("%p\n",&array[0]);
//    printf("%p\n",&array[1]);  //数组间占据字符4
//
//    int* p4;
//    p4=array;//完全成立,可以赋值
//   
//    char name[3]={'i','o','s'};//字符数组
//    char name0[4]={'i','o','s','\0'};//字符串\0
//   
   
    for (int i=0; i<5; i++)
    {
       
        *(array+i)=i+100;//指针和i进行相加运算时,表示指针向后挪,指向下一内存单元
    }
   
    for (int i=0; i<5;i++ )
    {
        printf("%d ",array[i]);
    }
 
、、、、、、、、、、、、、、、、、、、、、
 
void exChange(int a,int b)
{
    int *p1;
    p1=&a;
    *p1=b;//把a的地址p1指向b,b的值赋给a的地址代表的数,a没了
  
   
    printf("%d %d",a,b);
   ********************************
 
void exChange(int *a,int *b)
{
    int c;  //c是中间量,用来存放*a的值,再赋给*b的值
    c=*a;
    *a=*b;   //赋值的顺序不能变
    *b=c;
    //把a的地址p1指向b,b的值赋给a的地址代表的数,a没了
  
   
   
   }
int main(int argc, const char * argv[]) {
   
   
   
    int a=33,b=44;
    exChange(&a, &b);//函数的调用过程中,如果传递的参数只是普通的(非指针)变量值,只是相当于拷贝了一份数据给函数的参数,对当期函数里面的变量值,没有任何影响
    printf("%d %d",a,b);
    

转载于:https://www.cnblogs.com/shuxiachahu123/p/4911162.html

你可能感兴趣的文章
基础知识(10)- 部署应用程序和applet
查看>>
Oracle SQL (2):SQL Fundamentals(Day II)
查看>>
15款小应用源码
查看>>
注入(5)---导入表注入(HookINT)
查看>>
Openfire3.9.3源代码导入eclipse中开发配置指南
查看>>
[bzoj 2333] 棘手的操作[SCOI2011]
查看>>
.Net remoting 的解答,以及跟WebService的区别
查看>>
Mysql之explain调优
查看>>
tomcat目录
查看>>
基于 EntityFramework 的数据库主从读写分离服务插件
查看>>
NOIP 马拦过河卒
查看>>
C语言博客作业--函数嵌套调用
查看>>
双数组Trie树 (Double-array Trie) 及其应用
查看>>
jquery bind event, use on. $(document).on("click","#a",function(){alert(1)}) [#document]
查看>>
【Origin】jquery.barddialog.js
查看>>
.net实现多重继承问题(virtual)
查看>>
【简易教程】在网站上养一只萌咔咔的小仓鼠
查看>>
android 常见的补间动画
查看>>
设计继承树2
查看>>
Spring点滴九:Spring bean的延迟初始化
查看>>