社区
C语言
帖子详情
一个关于静态指针和动态指针的问题
bsautoland
2003-04-12 11:01:39
现在总是弄不清出什么是动态的指针,什么是静态的指针。
请大家说清楚点好么?
谢谢了
...全文
875
10
打赏
收藏
一个关于静态指针和动态指针的问题
现在总是弄不清出什么是动态的指针,什么是静态的指针。 请大家说清楚点好么? 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fishyqd
2003-04-14
打赏
举报
回复
同意 guoguoleige(难得糊涂)
jinsixiong
2003-04-14
打赏
举报
回复
char *p="1bisdfo"实际上是const char *p = "1bisdfo",是不能动的
liushmh
2003-04-14
打赏
举报
回复
int* const p;//静态
int* p;//动态
专注是一种美德
2003-04-14
打赏
举报
回复
静态指针是在程序运行前就确定下来是指向固定内容的指针。在程序中不允许改变指针的指向~~~比如说int a=3;int *p=&a,*q;试图将p=q或p++等都是错误的
动态指针是在程序运行中可以不断改变的指针~~如在栈中的栈顶指针随着元素的增加或减少而不断变化~~~
maurice1983
2003-04-13
打赏
举报
回复
我给你一个最好的一个解释,绝对是最好的!
所谓动态的指针是可以动的指针,而静态是不能动的指针!
vosbtis
2003-04-13
打赏
举报
回复
其实动态的指针和静态的指针指得是
该指针所指的是堆内存还是固定的内存块(alloc 及 free由系统管理)
如:
1. char* p1 = new char[10];
2. char* p2 = "abcde";
3. if(p1){
4. strcpy(p1,p2);
5. }
6. p2 = p1;
7. delete p2;
8. p2 = NULL;
9. p1 = NULL;
p1 所指的是堆内存(heap), 可以动态生成;
p2 在 语句 6前所指的是该程序的数据段里的一块,不可控制,由系统管理.
在执行了语句 6之后, p2 也指向了堆内存(heap).
执行了语句 7 后, p1, p2 所指的堆内存(heap)已被释放掉,不能再对它进行操作.
p1,p2 变量的内存本身是栈内存 (stack),在进入该函数时生成,退出函数时释放.
li3807
2003-04-13
打赏
举报
回复
在类中:
class A
{
public:
A(){}
protected:
static int *p;
};
这个就是静态指针,它在类中是公用的指针.
bsautoland
2003-04-13
打赏
举报
回复
我想知道,那些事可以动得指针,那些事不可以懂得指针。
如,char *p="1bisdfo";
p就是一个静态的指针。我想知道这样的
谢谢大家乐
小笨和漂向北方
2003-04-12
打赏
举报
回复
你是指指向堆中的指针 和 指向栈中以及常量的指针吗?
bsautoland
2003-04-12
打赏
举报
回复
c中的
C语言的内存魔法:从零打造
一个
通用的
动态
数组
本文介绍了C语言中
动态
数组的实现原理与设计方法。针对
静态
数组的固定大小缺陷,提出通过堆区内存分配实现
动态
扩容的解决方案。核心思路是利用void*
指针
存储数据地址,实现通用数据类型存储。文章详细讲解了
动态
数组的结构体设计、自动扩容机制及关键接口函数实现,并通过存储自定义结构体的示例验证了其功能。该
动态
数组实现了与具体数据类型的解耦,同时明确划分了内存管理责任,为C语言开发者提供了
一个
灵活、高效的
动态
数据结构实现方案。
2
指针
与链表
第二章
指针
与链表 一、
静态
存贮和
动态
存贮 我认为在(2)中的查找最后
一个
数据不能被访问,因此正确程序如下: 转载于:https://www.cnblogs.com/vacation/p/5184602.html...
动态
内存笔记
动态
内存相对的是
静态
内存。指的其实就是申请堆空间。进程的内存空间从上到下为 程序代码区:用来存储可执行的代码 文字常量区:用来存储常量
静态
区:用来存储 全局变量(不在任何函数里面的变量,又包括了全局
静态
变量和非
静态
变量。),局部
静态
变量,类的static成员。相同点是这些都有全局的生存周期。这只是粗略的说法。
静态
区实际包括 两部分,一部分是初始化了的全局变量和局部
静态
变量,static成员。可以叫做data段。另外一部分是没有初始化的全局变量和局部
静态
变量,static成员。叫做bss段。 堆 栈 ..
静态
链表和
动态
链表
动态
链表与
静态
链表一.
静态
链表在某些语言中
指针
是不被支持的,只能使用数组来模拟线性链表的结构.在数组中每个元素不但保存了当前元素的值,还保存了
一个
”伪
指针
域”,一般是int类型,用于指向下
一个
元素的内存地址.#define MAXSIZE 100; typedef struct{ ElemType data; int cur;
动态
联编和
静态
联编
一、
动态
联编和
静态
联编的基本概念 1.基本概念 将源代码中的函数调用解释为执行特定的函数代码块被称为函数名联编。在C语言中这个步骤更简单,因为C语言的函数名不允许重复,即没有函数重载这一说,每个函数名都对应着
一个
函数代码块。但是在C++中要复杂,因为C++中允许函数重载,必须得根据函数名和形参列表来对应
一个
函数代码块。C/C++编译器在编译过程就完成了这种联编。在编译过程中进行联编被称为
静态
联编 (早期联编)。 但是虚函数的产生使得
静态
联编变的困难,因为父类的虚函数允许被子类重写。当我们用
一个
父类
指针
指向一
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章