社区
C语言
帖子详情
一个关于静态指针和动态指针的问题
bsautoland
2003-04-12 11:01:39
现在总是弄不清出什么是动态的指针,什么是静态的指针。
请大家说清楚点好么?
谢谢了
...全文
867
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
指针
实现泛型存储,并设计了
一个
结构体来管理
动态
数组的状态。最后通过实战演示展示了如何存储自定义结构体。
2
指针
与链表
本文探讨了
指针
与链表的基本概念,并针对
静态
存贮和
动态
存贮进行了深入讨论。作者提出了一种改进方案来解决查找最后
一个
数据无法访问的
问题
。
动态
内存笔记
本文详细介绍了C++中的
动态
内存管理,包括
动态
内存与
静态
内存的区别,以及
动态
内存可能导致的
问题
,如内存泄漏和野
指针
。C++通过智能
指针
unique_ptr和shared_ptr来解决这些
问题
,它们能自动管理内存,防止内存泄漏。shared_ptr具有引用计数,当计数为0时自动析构对象,而unique_ptr确保同一时间只有
一个
所有者。此外,还提到了weak_ptr作为监控对象的存在,不会影响引用计数。最后,讨论了
动态
数组的创建与销毁,以及allocator在
动态
内存分配中的作用。
静态
链表和
动态
链表
本文介绍了
静态
链表和
动态
链表的概念及实现方式。
静态
链表利用数组模拟链表结构,适用于不支持
指针
的语言;
动态
链表通过
指针
灵活分配与回收内存空间,实现真正的链式存储。
动态
联编和
静态
联编
本文详细介绍了C++中的
动态
联编和
静态
联编,阐述了它们的区别和应用场景。
静态
联编在编译阶段完成,适用于非虚函数调用,而
动态
联编则在运行时确定函数调用,主要用于虚函数。文章通过实例说明了
动态
联编如何通过虚函数表实现,并讨论了两者在效率上的差异。此外,还探讨了
指针
和引用类型的兼容性以及虚函数的相关注意事项,如构造函数和析构函数的特殊性、友元函数和重定义规则等。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章