c语言学习---计算机基础0731

来源:互联网 发布:网络工程网络施工合同 编辑:程序博客网 时间:2024/04/28 11:43

1.c语言字符串,如何判断字符串为空:

    思路:1.空字符串直接为"\0";

                 2.strlen(string)为0;

2.c语言读取文件流一行数据:
思路:char *fgets(char *s, int n, FILE *stream);
从文件stream中最多读取n个字符,放入s中;遇到换行符提前结束。

对这个函数,你可以设置,n为一个非常大的值,比如256,一般一行不可能超过256个字符,不行了可以再大。

 #include <stdio.h>  2   3  int main()  4  {  5      char filename[] = "D:\\阶段性学习\\大三上\\1.课程学习\\编译原理\\0903\\实验二\\test.c"; //文件名 6      FILE *fp;  7      char StrLine[1024];             //每行最大读取的字符数 8      if((fp = fopen(filename,"r")) == NULL) //判断文件是否存在及可读 9      { 10          printf("error!"); 11          return -1; 12      } 13  14      while (!feof(fp)) 15      { 16          fgets(StrLine,1024,fp);  //读取一行17          printf("%s\n", StrLine); //输出18      } 19      fclose(fp);                     //关闭文件20      return 0; 21  }

3.

什么叫空指针,为什么要判断指针是否为空?

首先理解指针,指针就是指向内存的某个地址的一个变量.
而如果 a 指针不需要指向任何一个地址那么就可以把 a 指针置空int *a = NULL;
空指针的地址是 0x00000 所以他不指向任何一个地方就是空指针.一般判断指针是否为空可以判断指针是否有效,以防止程序崩溃,比如经常看到程序非法操作就是因为指针的问题.



3.

2、各操作系统默认堆栈大小及如何更改。

在一般情况下, 不同平台默认栈大小如下(仅供参考)

SunOS/Solaris 8172K bytes (Shared Version)

Linux 10240K bytes

Windows 1024K bytes (Release Version)

AIX 65536K bytes


linux程序栈大小ulimit里面就有了,ulimit -a里面stack size就是

通过limit -s来重新设置大小


4.c语言把字符串转换成整数

 方法:1.itoa(num, str, 10);

itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制...

itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。
是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:

              2.char str[255];
sprintf(str, "%x", 100); //将100转为16进制表示的字符串。


0 0