微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > c语言关于指针函数中地址和变量的关系问题?请大神解答?

c语言关于指针函数中地址和变量的关系问题?请大神解答?

时间:10-02 整理:3721RD 点击:
#include<stdio.h>
void change(char *c);
void mian()
{
  char *c;
   *c='q';
   change(c);
  printf("the char is %c",*c);
}
void change (char *c)
{
  if(*c>'a' & *c<'z')
      *c=*c-32;
}
主函数change(c)的地址给了void change (char *c),相当于change中*c=主函数c的地址码(*c=&c我的理解),那为什么 if(*c>'a' & *c<'z')地址和'a'怎么能在一起比较,也就是地址怎么能和变量进行比较呢?////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////大神帮我看看我理解的对不对?如果有不对的地方希望帮忙改正!
*c='q';          //把字符型q赋值给了指针变量c
  change(c);  //把*c的地址(如0x01)给了change里的c
void change (char *c)    // *c=0x01地址里的数='q'--------相当于*c=‘q'
{
if(*c>'a' & *c<'z')
     *c=*c-32;              //*c=’q'-32=‘Q'  返回给void main 输出;
}

c是一个指向字符的指针,就相当于一个门牌地址,
*c是这个地址指向的真正内容,就是在这个地方住的那个人,经过赋值就是那个‘q’;
进去change(c)后,*c就是‘q'

谢谢啊 十分感谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top