CUDA之——指针的认识

来源:互联网 发布:南京网络架构师年薪 编辑:程序博客网 时间:2024/06/05 20:38

摘要

本文的主要目的是认识指针。


1. 指针的含义

指针是一种数据类型!

指针和其他数据类型(double, float, int...)一样需要占用内存空间;通常情况下,double占用8个字节,float占用4个字节,int占用4个字节,指针占用2个字节。

指针和其他数据类型一样同样有值,唯一不同的是指针这种数据类型的值存放的是地址。


2. 指针中的符号

& 获取对象的地址。

* 取出指针变量存放地址指向的值。

注意,&获取内存地址意思非常显然,*的用法一开始会出现混淆的问题。下面我们解决这个问题。


3. 解决指针符号*使用的问题


                                                     图3. 指针示意图



如图3所示,指针*p的赋值语句,p = value,该语句value赋到了ValueA。*是取值操作,*p取出的值是ValueB。


4. 看懂图3之后,下边的例子就非常容易理解了。

char stuName, name; // 定义字符串变量stuName, namechar *pStu; // 定义指向字符型变量的指针pStuchar *pNew; // 定义指向字符型变量的指针pNewpStu = &stuName; // 取变量stuName的地址,并赋予指针变量pStupNew = pStu; // 把指针变量pStu的值赋给pNewname = *pNew; // 把pNew指向的内存单元的值赋给变量name




0 0