当前位置:首页 » 编程语言 » c语言文件指针初始化

c语言文件指针初始化

发布时间: 2022-06-06 11:59:59

c语言指针变量为什么要赋初值

其他回答(4)错误:40411级2012-02-10使用指针必须要初始化,要有一个明确的指向是有目的性的。之后再移动更改才不会造成混乱热心问友2012-02-10不给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。
指针定义后就会随机指向一个位置的,编译的时候也不会提示错误,程序短很容易找出来,长了多了就难找了,所以这是一个好习惯吧。

❷ C语言指针的初始化!!!!

指针指向变量后才能操作,如:int *pt,a;pt=&a;*pt=5;第二个char *i;i="Hello";这样是正确的.

❸ c语言 指针初始化的问题

如果你是需要赋字符串的,不需要给它分配空间,但是如果你要给指针结构体赋某个值,那是需要给指针指定内存空间的,所以你上面的程序只要这样就好了:
main()
{
char *str1, *str2;
str1 = “shabi";
str2 = "bushishabi";
printf("%s\n%s\n",str1,str2);
}

%s的话,就是后面的str1之类的东西是要一个地址

❹ C语言 指针二维数组怎么初始化

Total_FileType[0][typea] = malloc(xxx);
strcpy(Total_FileType[0][typea],newname);
//也可以不申请控制,直接让数组元素指向数据,同样适用*提取数据
*(Total_FileType[0][typea])读不到数据么?

❺ 在C语言中,关于字符型指针初始化char *p="hello world" 的问题

对于字符串常量,编译器都是默认按其大小分配内存存放字符串,并把地址首地址赋值指针变量。
如:
char
*p="hello
world";
其实编译的时候等于:
const
char
str[]
=
"hello
world";
char
*p
=
str;
只不过这个
str
数组名你没法直接拿来用而已。

❻ c语言文件类型指针

c语言文件类型指针是通过FILE *fp; 这种形式进行定义的。

关于FILE结构在VC6中有如下定义:

#ifndef_FILE_DEFINED
struct_iobuf{
char*_ptr;//文件输入的下一个位置
int_cnt;//当前缓冲区的相对位置
char*_base;//指基础位置(即是文件的起始位置)
int_flag;//文件标志
int_file;//文件描述符id
int_charbuf;//检查缓冲区状况,如果无缓冲区则不读取
int_bufsiz;//文件缓冲区大小
char*_tmpfname;//临时文件名
};
typedefstruct_iobufFILE;
#define_FILE_DEFINED
#endif

C程序用不同的FILE结构管理每个文件。程序员可以使用文件,但是不需要知道FILE结构的细节。实际上,FILE结构是间接地操作系统的文件控制块(FCB)来实现对文件的操作的,如下图:

上面图中的_file实际上是一个描述符,作为进入打开文件表索引的整数。

文件是存放在物理磁盘上的,包括文件控制块(FCB)和数据块。文件控制块通常包括文件权限、日期(创建、读取、修改)、拥有者、文件大小、数据块信息。数据块用来存储实际的内容。当打开一个文件时,程序会将物理磁盘上的文件数据块读入到内存,然后通过文件指针的移动读取内存中的文件数据。

相关函数:

  • FILE *fopen( char *file, char *open_mode ); //打开文件,读文件到内存,返回文件信息结构指针

  • int fread( char s, int size, int num, FILE *fp ); //按字节读取文件内容到s中

  • int fwrite( char s, int size, int num, FILE *fp ); //按字节将s地址中的数据写到文件中

  • char *fgets( char *s, int max_size, FILE *fp); //读一行数据到缓冲区s中

  • intfseek( FILE *fp, long offset, int whence); //移动文件指针到指定位置

  • void rewind(FILE *fp); //回到文件头

  • long ftell(FILE *fp); //得到当前文件偏移位置

  • fclose(fp); //关闭文件,刷新缓存到物理磁盘上

❼ C语言中指针如何初始化为NULL

ptr = NULL;用于将指针指向空
而*ptr是指它指向的地址里的内容。

热点内容
sift算法详解 发布:2025-02-08 18:35:23 浏览:578
linux标准错误的是 发布:2025-02-08 18:32:07 浏览:915
蛮多小说怎么缓存书架的小说 发布:2025-02-08 18:30:16 浏览:888
光遇花开脚本封号吗 发布:2025-02-08 18:23:15 浏览:534
怎么弄ld帐号和密码 发布:2025-02-08 18:11:42 浏览:628
新逍客20发动机压缩比 发布:2025-02-08 17:58:10 浏览:115
qq号和密码我都知道为什么登不上 发布:2025-02-08 17:52:21 浏览:872
宝塔服务器ip进不去 发布:2025-02-08 17:52:18 浏览:382
担保中介源码 发布:2025-02-08 17:14:37 浏览:413
手机存储卡速度测试 发布:2025-02-08 17:02:57 浏览:26