C语言指针 指针 基础知识 指针变量(四)

举报
谦虚斯帕克 发表于 2022/03/22 16:31:56 2022/03/22
【摘要】 2.指针变量的引用 初识两个操作符 * ,&指针变量若没有赋值或者未初始化不可使用,要有明确的指向取地址运算符 ’ & ‘(单目运算符)功能:取变量的地址结合性:自右向左;取内容运算符’ * ‘ 也叫取值运算符(单目运算符)功能:取指针所指向的内存单元的值;结合性:自右向左:单目运算符 & 和 * 的优先级比算术运算符的优先级高;#include <stdio.h>int main(...

2.指针变量的引用

初识两个操作符 * ,&

  • 指针变量若没有赋值或者未初始化不可使用,要有明确的指向

  • 取地址运算符 ’ & ‘(单目运算符)
    功能:取变量的地址

  • 结合性:自右向左;

  • 取内容运算符’ * ‘ 也叫取值运算符(单目运算符)
    功能:取指针所指向的内存单元的值;

  • 结合性:自右向左:

  • 单目运算符 & 和 * 的优先级比算术运算符的优先级高;

#include <stdio.h>
int main()
{
  int i=100;
  int j=110;
  int *pointer_1,*pointer_2;//这里的*不是取值操作符,仅定义指针函数
  pointer_1 = &i;
  pointer_2 = &j;
  printf("%d\n%d\n",*pointer_1,*pointer_2);
  return 0;

自己可以动手写代码,多练习几遍;

  • 以下是错误的赋值示范:
float a;
short *pointerr_1;
pointer_1 = &a;
  • 将float型变量的地址放到指向整型变量的指针变量中
  • 不同的编译器不同的数据类型所占字节不同,这里以GNU GCC编译器为例
  • 所占字节不同导致结果输出错误
  • 类型一定要对应! ! !
  • 指针变量中只能存放地址(地址);

代码分析

举个例子:通过指针变量访问整型变量
还是上次举个例子

#include <stdio.h>
int main()
{
  int a,b;(1)
  int *pointer_1,*pointer_2;//(2)
  a=100;b=10;
  pointer_1 = &a;
  pointer_2 = &b;(3)
  printf("%d,%d\n",a,b);
  printf("%d,%d\n",*pointer_1,*pointer_2);
  return 0;
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。