社区
C语言
帖子详情
关于指针内存方面的问题
luomingmao129
2008-02-27 10:33:02
#include <stdio.h>
struct S{
int i;
int *p;
};
int main()
{
struct S s;
int *p = &s.i;
p[0] = 4;
p[1] = 3;
s.p = p; // 1
s.p[1] = 1; // 2
s.p[0] = 2; // 3
}
当程序运行到注释3那一行时候就会报错,如果把注释1那行注释掉的话则运行到注释2的时候就报错,请问一下是什么原因?
...全文
82
5
打赏
收藏
关于指针内存方面的问题
#include struct S{ int i; int *p; }; int main() { struct S s; int *p = &s.i; p[0] = 4; p[1] = 3; s.p = p; // 1 s.p[1] = 1; // 2 s.p[0] = 2; // 3 } 当程序运行到注释3那一行时候就会报错,如果把注释1那行注释掉的话则运行到注释2的时候就报错,请问一下是什么原因?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
VxD1
2008-02-27
打赏
举报
回复
非法访问内存
luomingmao129
2008-02-27
打赏
举报
回复
谢谢了
Seanxiaoxiao
2008-02-27
打赏
举报
回复
s.p[1] = 1; 这一句把p的值改成0X00000001了
下一句再访问,就造成了内存的非法读取了
baihacker
2008-02-27
打赏
举报
回复
http://topic.csdn.net/u/20071102/14/19449798-1147-4c57-816e-78fa0e77b538.html
已经讨论过的,见上面网址!
hy_number_one
2008-02-27
打赏
举报
回复
关注
让你不再害怕
指针
深入理解
指针
,很详细,如有错误请高手指点 PDF文件格式下载:http://download.csdn.net/source/454542
C语言精彩编程100例
C语言入门教程:主要针对C语言初学者,从零讲解各个细节。
c语言
指针
存储的
内存
结构图,C语言的
指针
类型详细解析
指针
存储了
内存
的地址,同时
指针
是有类型的,如int*,float*,那么,一个自然的猜想就是
指针
变量应该存储这两
方面
的信息:地址和
指针
类型,比如,就像下面的结构体:代码如下:struct pointer{long address;int type;}举个例子:打印sizeof(int*),值为4,可见4字节是存储
内存
地址用的,反过来就说明
指针
并没有存储类型信息的地方,那么
指针
的类型信息存放在哪儿呢...
指针
进阶:深度解析C语言中的
内存
操作艺术
指针
,作为C语言的核心特性之一,是理解和运用C语言的关键所在。
指针
不仅能让程序员更直接地操作
内存
,还能优化数据结构,提高程序效率。本文将从多个
方面
深入探讨C语言中的
指针
,并辅以代码示例,旨在帮助读者深入理解和灵活运用
指针
。
指针
是C语言中一个非常强大且复杂的特性,它允许程序员直接操作
内存
地址,实现高效的数据结构和算法。通过掌握
指针
的使用,可以更加深入地理解计算机
内存
的工作原理,并编写出更加高效和灵活的程序。
结构体
指针
内存
——
指针
数组——字符串
指针
内存
申请
前几天用的结构体,结构体内还包含有结构体
指针
和数组以及指向字符串的
指针
,发现自己对这
方面
的东西还很容易犯错,故现在讲其中容易出错的地方写出来,分享给大家也方便自己日后查看。 typedef struct { char name[50]; char job[50]; int age; int people_id; } peopleInfo; typedef struct
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章