C语言中*和&的区别-代码实现说明
来源:互联网 发布:杭州城西银泰mac在几楼 编辑:程序博客网 时间:2024/06/02 21:28
*是指针运算符,可以表示一个变量是指针类型;也可以表示一个指针变量的所指向的存储单元,可以获取某个地址存储的值。
&是取地址符号,既取得某一个变量的地址
int *p=&a;或 int *p;p=&a;
表示将a的地址存储在p内(取a的地址赋值给p)
int *b=&a;int c=*b;
表示将指针b指向(*b)的存储单元(a)赋值给c,此时的c只是一个新的变量,不能改变原有的a的值
例题代码:
//////////////////////////////////////////////////////结构体的应用 ////用结构体定义基本信息 ////包括姓名、性别、年龄、联系电话、地址 ////设计输入、输出函数,参数为结构体指针变量 //////////////////////////////////////////////////////#include<stdio.h>#include<stdlib.h>//定义结构体typedef struct{ char name[8]; char sex[2]; int age; char tel[11]; char addr[20];}person;//输入函数void setData(person *p) //指针传递{ printf("请输入姓名 性别 年龄 电话号码 地址:"); //疑问:该处char[]类型去掉&,程序正常执行??? scanf("%s %s %d %s %s",&p->name,&p->sex,&p->age,&p->tel,&p->addr);}//输出函数void getData(person p) //参数传递{ printf("姓名:%s\n性别:%s\n年龄:%d\n电话号码:%s\n地址:%s\n",p.name,p.sex,p.age,p.tel,p.addr);}void main(){ person *p; p=(person*)malloc(sizeof(person)); setData(p); getData(*p); //*p取指针p所指的存储单元}
1 0
- C语言中*和&的区别-代码实现说明
- 借用C语言中堆和栈的区别来说明IOS中两者的区别
- C语言和C++语言对于代码块中定义变量位置的区别
- 一个例子说明C语言和Java的区别
- 关于C语言中+和|的区别
- C语言中""和{""}的区别
- C语言中/和%的区别是什么
- C语言中<>和“”的区别
- C语言中()和【】的区别?
- C语言中"."和"->"的区别
- C语言中->和.的区别
- C语言中.和->区别
- c语言中“|”和“||”区别
- C语言中 *.c和*.h文件的区别!
- C语言中 *.c和*.h文件的区别!
- C语言中 *.c和*.h文件的区别!
- C语言中 c和h文件的区别!
- C语言中 *.c和*.h文件的区别
- Linux:静态IP配置与防火墙设置
- Django学习(二)
- struts2理解
- 设置a标签href="###"后,H5页面依然滚动问题
- 自考--心态总结
- C语言中*和&的区别-代码实现说明
- 数据结构
- Q6--旋转数组的最小数字
- 结构散记
- 第76篇 webrtc一对一研究(五)及php及jQuery
- 删除字符串中的字符
- Android手势分发和View测量思维导图
- Oracle group by 语句增强
- 运维笔记10 (Linux软件的安装与管理(rpm,yum))