void 类型的指针|学习笔记

简介: 快速学习 void 类型的指针

开发者学堂课程【C语言学习教程 void 类型的指针】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/387/detail/4939


void 类型的指针


目录:

一、void 类型的指针

二、练习


一、void 类型的指针

可以指向任何变量,但在使用时,需要进行强制类型转换之后才能使用

例如:  

int nData=10;

Void * pData=&nData;    

printf("%d",*pData);    //error

printf("%d",*((int*)pData));  //ok

  int main(int argc,const char *argv[]){

int nData=10;

int * pData=&nData;    

void * pData=&nData;    

*p1 = 19;     //会报错  

为什么指针要声名称它指向什么类型?

从内存角度讨论:

  指针是有位移的

  一个 char 型指针每一个 char 占了一个字节

  一个 int 型指针每一个 int 占了四个字节

   void 型指针不知道

所以要对 void 进行强制转换

* (int*)p1=19;

Char temp = ‘A’;

P1 = &temp;

* (char*)p1=‘b’;


二、练习

1.定义一个字符型变量

char temp = ‘a’

2.定义一个 viod 型的指针变量

   void *p = NULL;

3.通过 void 指针变量访问字符型变量

 p= &temp;

printf("%c \n",*(char*)p);

4.输出指针变量指向的变量的值,输出指针变量

printf("%p \n",p);



相关文章
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
180 1
Go: struct 结构体类型和指针【学习笔记记录】
本文是Go语言中struct结构体类型和指针的学习笔记,包括结构体的定义、成员访问、使用匿名字段,以及指针变量的声明使用、指针数组定义使用和函数传参修改值的方法。
|
存储 安全 Go
深入理解 Go 语言中的指针类型
【8月更文挑战第31天】
245 0
|
存储 C++
c++学习笔记06 指针
C++指针的详细学习笔记06,涵盖了指针的定义、使用、内存占用、空指针和野指针的概念,以及指针与数组、函数的关系和使用技巧。
146 0
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
160 0
|
图形学 Windows
程序技术好文:记录类型指针
程序技术好文:记录类型指针
84 0
指针进阶(C语言终)
指针进阶(C语言终)
|
存储 C语言
C语言如何使用结构体和指针来操作动态分配的内存
在C语言中,通过定义结构体并使用指向该结构体的指针,可以对动态分配的内存进行操作。首先利用 `malloc` 或 `calloc` 分配内存,然后通过指针访问和修改结构体成员,最后用 `free` 释放内存,实现资源的有效管理。
1139 13
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
495 4
|
C语言
无头链表二级指针方式实现(C语言描述)
本文介绍了如何在C语言中使用二级指针实现无头链表,并提供了创建节点、插入、删除、查找、销毁链表等操作的函数实现,以及一个示例程序来演示这些操作。
169 0