首页 > 其他分享 >指针1

指针1

时间:2023-07-30 19:00:58浏览次数:24  
标签:10 return int char printf 指针

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//指针的详细学习

//指针就是变量,用来存放地址的变量,存在指针里面的变量被称为地址。

//不同类型的指针可以储存各自数据,不过在解引用的时候会出现问题

//因此指针类型决定了指针进行解引用的时候能够访问空间的大小,int* p,*p可以访问4个字节,char *p,*p只能访问一个字节,double* p,*p能够访问8个字节

int main()

{

	int a = 0x11223344;

	int* pa = &a;

	char* pc = (char*)&a;

	printf("%d\n", pa);	//11927156

	printf("%d\n", pa + 1);//11927160

	printf("%d\n", pc);//11927156

	printf("%d\n",pc + 1);//11927157

	return 0;

}

//一个指针类型决定了它能够走出步的大小


int main()

{

	int arr[10] = { 0 };

	int* p = arr;

	int i = 0;

	for (i = 0; i < 10; i++)

	{

  *(p + i) = 1;

	}

	return 0;

}

//野指针

//指针指向的内存空间释放

int* test()

{

	int a = 10;

	return &a;

}

int main()

{

	int* p = test();

	*p = 20;//当你使用这个空间的时候,函数已经将空间释放了归还给了内存。

	return 0;

}

标签:10,return,int,char,printf,指针
From: https://blog.51cto.com/u_16189143/6901929

相关文章

  • Go语言中指针详解
    指针在Go语言中是一个重要的特性,它允许你引用和操作变量的内存地址。下面是指针的主要作用和相关示例代码:1.引用传递在Go中,所有的变量传递都是值传递,即复制变量的值。如果你想在一个函数中修改一个变量的值,并希望这些改变在函数外部也有效,你就需要使用指针。通过传递一个变......
  • C# 使用SIMD向量类型加速浮点数组求和运算(4):用引用代替指针, 摆脱unsafe关键字,兼谈Unsa
    作者:zyl910目录一、引言二、办法说明2.1历史2.2局部引用变量与引用所指的值(类似指针的地址运算符&、间接运算符*)2.3重新分配局部引用变量(类似指针直接赋值)2.4引用地址调整(类似指针加减法)2.5引用地址比较(类似指针比较)2.6重新解释(类似C++的reinterpret_cast)2.7引用取消只......
  • 【Java】使用fastjson进行序列化时出现空指针异常问题研究
    最近在使用fastjson的JSONObject.toJSONString()方法将bean对象转为字符串的时候报如下错误:com.alibaba.fastjson.JSONException:writejavaBeanerror,fastjsonversion1.2.58,classcom.sun.proxy.$Proxy395,fieldName:0 atcom.alibaba.fastjson.serializer.JavaBeanS......
  • 指针面试题2
    &aa拿到二维数组的地址,+1跳过整个二维数组,强制转换为整型指针,放到ptr1中,*(ptr-1)则为10aa为二维数组首元素也就是首个一维数组的地址,aa+1为第二个一维数组的地址,解引用再强制转换为整型指针,放入ptr2中,ptr2-1指向元素5,解引用就是5char*a[]为应该指针数组,数组里面放有三个指针指向三个......
  • 第三章 指针才是C语言的精髓(嵌入式Linux与物联网软件开发 C语言内核深度解析)
    这仅仅是读《嵌入式Linux与物联网软件开发:C语言内核深度解析》pdf的知识记录 地址:指的都是某个字节的地址。比如inta的空间大小有4个字节,每个字节都有一个地址(也就是有4个地址),但是只有首字节地址才能作为整个a空间的地址。也就是说,整个内存以1个字节为基本单位划分无数个地址,......
  • golang打印指针切片/数组的值
     FmtSlice2String方法可以将指针切片的值打印处理packagemainimport( "fmt" "reflect")typeStudentstruct{ Namestring`json:"name"cn:"名字"` Ageuint64`json:"age"cn:"年龄"`}funcmain(){ s:=mak......
  • EnableHeaderCheckBox导致空指针
    GridViewCheckBoxColumn以CheckBox的形式显示、编辑bool值,实现行选中效果。如果需要在表头添加全选框,可以将EnableHeaderCheckBox设置为true:privatevoidAddCheckColumn(){checkColumn=newGridViewCheckBoxColumn();checkColumn.Name="Select";checkColum......
  • 指针DAY3
    指针3指针和多维数组  代码:#include<stdio.h>intmain(){intC[3][2][2]={{{2,5},{7,9}},{{3,4},{6,1}},{{0,8},{11,13}}};printf("%d%d%d%d\n",C,*C,C[0],&C[0][0]);p......
  • 双指针/位运算/离散化/区间和并
    双指针两个指针指向两个不同的序列两个指针指向同一个序列(归并排序,快速排序)主要作用:将暴力O(n^2)遍历通过两个指针的某种单调性质优化到O(n),也就是说将内层循环变量j通过与外层循环变量i的关系,将内层循环次数降低不定次模板:for(inti=1;i<n;++i){ while(j<i&&......
  • 问题--链表指针传参,修改next指针只传值
    1.问题--链表指针传参,修改next指针只传值Link_creat_head(&head,p_new);//将新节点加入链表在这当中head头指针传的是地址,而p_new传的是值,这二者有什么区别?#include<stdio.h>#include<stdlib,h>//定义结点结构体typedefstructstudent{//数据域intnum;......