美文网首页
6.C语言 指针

6.C语言 指针

作者: 爱吃馒头的二饼 | 来源:发表于2019-07-12 14:05 被阅读0次

格式: 变量类型 *变量名

前面的变量类型代表指针变量只能指向该类型的数据

指针的作用:根据一个地址值,访问对应的存储空间

无论什么类型的指针都占用4个字节的存储空间,指针之所以需要变量类型就是为了在取值和赋值时知道该取值/赋值多少个字节的空间

int *p;
int a = 90;
//指针变量p指向了变量a
p = &a;
//把10赋值给p指向的内存空间
*p = 10;

int p;的仅仅只是一个象征,没有其他特殊含义;而p = 10中的作用是访问指针变量p指向的内存空间
指针变量只能存储地址

使用指针更改函数外部的变量的值

#include <stdio.h>
void changeNum(int *n);
int main()
{
    int a = 10;
    changeNum(&a);
    
    printf("%d\n",a);
    return 0;
}
void changeNum(int *n)
{
    *n = 100;
}

指向指针的指针

#include <stdio.h>
int main()
{
    int a = 10;
   
    int *p = &a;
    
    int **pp = &p;
    
    **pp = 20;
    
    printf("%d\n",a);
    return 0;
}

数组元素的访问方式

int ages[5];

int *p;

p = ages;
  • 数组名[下标] ages[i]

  • 指针变量名[下标] p[i] 因为数组名就是该数组的首地址,也是数组第一个元素的地址3> *(p + i)

指针和数组的关系:http://blog.chinaunix.net/uid-21411227-id-1826897.html

指针变量的+1究竟加多少,取决于指针的类型

指针与字符串

定义字符串的两种方式。

//字符串变量,里面的字符可以被修改
char name[] = "hansion";
//字符串常量,里面的字符不可被修改
char *name2  = "hansion";

指针变量指向字符串的首字符

指向函数的指针

使用指针间接调用函数

#include <stdio.h>
void test(int a)
{
    printf("调用了test函数,参数为:%d\n",a);
}
int main()
{
    void (*p)(int);
    p = test;
    
    p(100);
    
    (*p)(200);
    
    return 0;
}

相关文章

  • 6.C语言 指针

    格式: 变量类型 *变量名 前面的变量类型代表指针变量只能指向该类型的数据 指针的作用:根据一个地址值,访问对应的...

  • 6.C语言杂项

    多级指针 函数指针 结构体 联合体 枚举类型 typedef:给类型起一个别名

  • 6.C语言-函数

    一般情况下,变量(包括静态存储方式和动态存储方式)的值是存放在内存中的。 1. 动态存储方式与静态存储方式 2. ...

  • 6.C语言内存管理

    作用域 局部变量 在一个函数内定义,只在函数范围内有效 在复合语句中定义,只在复合语句中有效 随着函数调用的结束或...

  • C语言05- 指针

    C语言05- 指针 13:指针 指针是C语言中的精华,也是C语言程序的重点和难点。 13.1:指针定义与使用 指针...

  • 02-C语言的指针

    02-C语言的指针 目标 C语言指针释义 指针用法 指针与数组 指针与函数的参数 二级指针 函数指针 指针在C中很...

  • 带小白学C语言指针

    C语言里指针才是C语言的开始和指针;C语言里基本所有东西都是由指针演变而成; 指针是指向地址的变量,类型就是指针...

  • Go语言-指针

    Go语言中的指针不同于C语言,Go语言的指针使用方法要简单很多。当然和C语言从指针定义到指针的使用都有很大的不同。...

  • go语言值传递与指针传递

    go语言指针 go语言作为静态编译型语言,具有指针类型,但是不提供对指针的移位危险操作,防止指针的越界等问题。 g...

  • Go语言 指针

    指针 概念 Go语言的指针和C语言一样也是用来保存地址的变量 格式 普通指针 指向数组的指针 注意点 GO语言中只...

网友评论

      本文标题:6.C语言 指针

      本文链接:https://www.haomeiwen.com/subject/qevekctx.html