首页 > 其他分享 >9.一级指针

9.一级指针

时间:2023-05-02 14:55:04浏览次数:43  
标签:cout int 指针 ++ main data 一级

  • 指针的定义与语法
  • 指针与数组
  • 指针与二维数组
  • 指针变量

指针的语法与赋值

指针的语法:数据类型 *指针名

定义:指针内容为数据的内存地址

eg:

void charge(int a, int b)
{
    swap(a, b);
}
void ncharge(int *a, int *b)
{
    swap(*a, *b);
}

int main() {
    int a = 1, b = 2;
    charge(a, b);
    cout << a << " " << b<<endl;
    ncharge(&a, &b);
    cout << a << " " << b << endl;
}

 一个指针的指向不确定时

int *n= nullptr; // nullptr为空,即指针为0

 

指针与数组

整数

    int* a;
    int data[4] = { 1,2,3,4 };
    a = data;
    cout << a << endl;
    cout << a[3] << endl;
    cout << *a+3 << endl;

 字符串

int main() {
    const char* a="hello";
    cout << a << endl;
    cout << *(a+1) << endl;
  cout << a[1] << endl; }

 指针数据在内存中的大小

int main() {
    char* a;
    int* p;
    double* da;
    float* fa;
    void* va;
    cout << sizeof(a)<<endl;
    cout << sizeof(p) << endl;
    cout << sizeof(da) << endl;
    cout << sizeof(fa) << endl;
    cout << sizeof(va) << endl;
    }

 

 指针与二维数组

二维数组指针语法:类型(*变量名)[整形常量]

int main() {
    int(*a)[3];
    int data[2][3] = { 1,2,3,4,5,6 };
    a = data;
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            cout << a[i][j]<<" ";
        }
        cout << endl;
    }}

int main() {
    int(*a)[3];
    int data[2][3] = { {1,2},{3}};
    a = data;
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            cout << a[i][j]<<" ";
        }
        cout << endl;
    }}

指针变量

语法结果:数据类型 ** 变量名

返回目录

标签:cout,int,指针,++,main,data,一级
From: https://www.cnblogs.com/20wod/p/17367106.html

相关文章

  • MFC-GetHeaderCtrl获取列头指针
     CHeaderCtrl*phead=mylist4.GetHeaderCtrl();   ......
  • 函数指针与函数回调
     1、函数指针 C/C++中可以使用指针指向一段代码,这个指针就叫函数指针,假设有这样一段代码:#include<stdio.h>intfunc(inta){returna+1;}voidmain(){int(*f)(int)=func;printf("%p\n",f);}定义了一个函数func,然后使用指针变量f指向该函数,然后......
  • 创建队列时对结构体指针的理解
    1#include<stdio.h>2#include<stdlib.h>34#defineElemTypeint56//定义队列结点7typedefstructQNode8{9ElemTypedata;10structQNode*next;11}QNode,*QNodePrt;1213//定义队首、队尾指针14typedefstruct15{16QNo......
  • 80.指针
    1.指针的基本概念1)变量的地址  变量是内存变量的简称,在C++中,每定义一个变量,系统就会给变量分配一块内存,内存是有地址的。C++用运算符&获取变量在内存中的起始地址。语法:&变量名2)指针变量指针变量简称指针,它是一种特殊的变量,专用于存放变量在内存中的起始地址。语法:数据......
  • 1.3 关于双指针的一些总结
    这篇内容主要是针对双指针的一些总结,方法比较巧妙,主要核心原理就是:有一个快指针fast、一个慢指针slow,slow指针主要作用就是存储真正的数组(也就是处理之后的结果),fast是辅助寻找元素,然后往slow里面放。典型例题:描述:给你一个数组nums 和一个值val,你需要原地移除所有数值等于......
  • 023 指针数组和数组指针
     /*一:原理二:指针数组三:数组指针*/ 一:原理定义变量:intnum=1;1组合:符号+名称(1)符号:数据类型(2)名称:要操作的数据类型(3)符号为名称所服务的。2优先:(1)默认优先级(2)离符号近(从......
  • go语言 数组和切片、可变长参数、maps、字符串、指针、结构体、方法、接口
    数组和切片数组#1定义,初始化,使用#2数组是值类型数字,字符串,布尔,数组,都是值类型,真正直接存数据切片,map,指针引用类型,是个地址,指向了具体的值#3数组长度#4循环打印数组#5多纬数组#6数组定义并赋初值,把第99赋值为1,其他都是0#数组的长度也......
  • openGauss5.0.0企业版一主一备一级联安装指南(openGauss课程)
    一、opengauss的背景和行业现状2022年,七大openGauss商业版发布,是基于openGauss3.0推出商业发行版目前海量数据库Vastbase表现最佳,一直是TOP1作者认为之所以海量数据库Vastbase目前无法被同行超越,和各家研发实力和技术背景有关众所周知,opengauss起源于postgresql,在......
  • Provisional heads are shown、NullPointerException空指针异常?堆栈与队列的区别?Java
    Provisionalheadsareshown排查是否插件拦截,我的以前没有这种,所以排除本地网络节点问题,连接不到图片服务器,以下是解决方法:1.进入到C盘Windows文件夹System32/drivers/etc目录下,打开hosts文件,绑定下2.改下本地dns为公共dns网络节点导致的问题,一般为运营商导致,产生问题的原因为......
  • this指针
    1.this指针的概念与特性this指针概念首先来看一个例子#include<iostream>usingnamespacestd;classDate{public: voidInit(intyear,intmonth,intday) { _year=year; _month=month; _day=day; } voidPrint() { cout<<_year<<"-&q......