关于(指针)变量和malloc函数的体会

来源:互联网 发布:前端后端数据库 编辑:程序博客网 时间:2024/05/16 09:00

最近在做数据结构的练习;突然觉得好多东西都不会;于是在网上看一些前辈的例子,看了好多;花了一天的时间,自己写的时候还是写不出来;我自己总结了一下;主要问题在:对链表的结构还没有真正的懂得,对编译器分配变量的机制了解不深入,具体到链表中主要是对链表中创建下一个链表节点之前对各个变量的变化的控制;还有就是对指针的认识很肤浅,不能深入了解!!

这短时间里发现了一些问题如下:

对于同一个变量用两个malloc函数分配空间后赋值,就像对其他变量赋值后又更改其值是一样的效果(本人认识很肤浅,到现在才初步了解并掌握)如下:

代码#include<iostream>
#include<string>
#include<malloc.h>
#define null 0;
using namespace std;
void main()
{
string *cstr;
string *s1,*s2;
cstr=(string *)malloc(sizeof(string));
s1=cstr;
cout<<s1<<endl;
cstr=(string *)malloc(sizeof(string));
s2=cstr;
cout<<s2<<endl;


}

编译运行结果如下:

00381EF8

00380920

重新调用malloc函数的时候进行了对变量的重新赋值;

对于指针的了解:

无论一个指针是什么类型的,指针的大小(指针变量所占内存空间)都是相同的,一般是4个字节。

如 int *p;

    string *s;

sizeof(p)=4=sizeof(s);

 

 

原创粉丝点击