指向指针的指针的一个问题
来源:百度文库 编辑:神马文学网 时间:2024/04/20 21:37:07
指针在计算机中是一个32位(即四字节)的一个值,这32位数据代表一个地址,当你声明了一个 char**p的指针的时候 ,--- 注解:{如果*p = (char *)malloc(10);就会出错会出错} --- 自动分配了32位大小的空间存储指针p,但是,注意,p没有指向任何空间,所以*p操作是错误的,你必须先为*p分配一块空间才行,具体做法如下:
p=(char**)malloc(sizeof(char*));
如上语句中分配了一个大小为char*(即32位大小)的空间,并把指向该空间的指针(其实就是该空间的地址)赋值给了p,然后当你进行的*p操作找到p所指向的空间,这时,*p = (char *)malloc(10);才没有错误.
指针不难理解,指针其实就是一个32位大小的数据,和int一样大,只不过代表地址而已,所以你也可以把地址赋值给一个int,然后在使用时通过强制类型转换告诉编译器这32位的数据其实是一个指针(地址),以后就可以像指针一样使用了,指针使用时切记指针所指向的空间已经分配了,像你遇到的情况就是没有分配存储*p指针的空间造成的。
有什么问题可以baidu hi我。
p=(char**)malloc(sizeof(char*));
如上语句中分配了一个大小为char*(即32位大小)的空间,并把指向该空间的指针(其实就是该空间的地址)赋值给了p,然后当你进行的*p操作找到p所指向的空间,这时,*p = (char *)malloc(10);才没有错误.
指针不难理解,指针其实就是一个32位大小的数据,和int一样大,只不过代表地址而已,所以你也可以把地址赋值给一个int,然后在使用时通过强制类型转换告诉编译器这32位的数据其实是一个指针(地址),以后就可以像指针一样使用了,指针使用时切记指针所指向的空间已经分配了,像你遇到的情况就是没有分配存储*p指针的空间造成的。
有什么问题可以baidu hi我。
指向指针的指针的一个问题
彻底搞定C指针---指向指针的指针(转)
const常量、指向常量的指针和常量指针
关于指针的问题?
第五章 指向数组的指针
第五章 指向数组的指针
指向数组的指针与多维数组
C/C 中字符指针数组及指向指针的指针的含义
C/C++中字符指针数组及指向指针的指针的含义
结构体指针的问题!
结构体指针的问题!
CSDN技术中心 第五章 指向数组的指针
Delphi的指针
Delphi的指针
C51指针的使用
一个类成员函数指针的应用例子
多维数组的指针变量
函数指针的另类用法
多维数组的指针变量
typedef 函数指针的用法
指针与数组的异同
锁无关的数据结构与Hazard指针
C/C++中函数指针的含义
关于C++中函数指针的使用