
正文
c语言指针参数在内存中的存放,c语言 指针参数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言如何给指针分配内存?
int *p :一级指针,表示p所指向的地址里面存放的是一个int类型的值,声明p为指向整型数的指针,这时为这个指针分配了存储空间。但这时其中是随机数,我们称它为指向一个不确定的内存地址。
因此该语句的意思是:按stu的长度分配2块连续区域,强制转换为stu类型,并把其首地址赋予指针变量ps。
C语言中定义指针变量后,必须给指针变量进行相应的地址分配,才可以使用指针变量,否则会出现程序异常。
malloc函数:其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针。
相关问答
Q1: C语言,字符串指针指向的字符串,那个字符串存储在哪个位置?
1、&idxbuf:取地址,%p与指针对应,是输出指针的地址。address:0x7ffeffc9f0b0,就是字符串指针idxbuf指向的字符串存储在内存中的地址位置。
2、该字符串储存在常量区。直接为字符型指针初始化的字符串存储在常量区。常量区是程序运行时的数据存储区,其中的数据不能被修改,故字符串常量也存储在这里。
3、一个有效的字符指针,如果指向了一个已经存在的字符串,那么这个指针的“值”就是这个字符串的第一个字符的地址。根据这个理解,就是得“先”有字符串,后让字符指针指向这个字符串才有可能,否则指针就是无效的。
4、C语言规定只能逐个引用数组元素,而不能一次引用整个数组。对于字符数组,可以将整个字符串一次输入或输出。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。
5、在c语言中存储一个字符串,一般有两种方法,一种是字符指针,一种是使用字符数组。
Q2: 指针变量只能存放?不能存放?
1、指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。
2、是的。根据查询百度百科信息显示,指针变量是IT行业术语,指存放地址的变量,因地址的改变而做出指定性质的衡量变法,所以指针变量只能存放地址。
3、位cpu下,指针变量只是一个有四字节大小的内存,只能存放地址。
4、当然对了,指针就是指向变量的地址,如int* p=20;p=2000表示在内存地址2000处存放着20这样一个数据。
5、这两个程序都没有错误,没有不允许存放常量的要求。
6、这里有一个误区,指针变量作为一个变量只能存储一个指针而已,不能存储任何类型的变量。例如,int * p;这里的p只能保存一个指针,而且只能是指向int类型的变量的地址。为了实现可变类型的指针,通常可以定义void类型的指针。
关于c语言指针参数在内存中的存放和c语言 指针参数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







