C语言注意事项
C语言注意事项
计算数组大小:sizeof(str) / sizeof( str[0] )【数组str的存储空间大小 / 数组第一个元素所占的字节数 】【char-1,int-4,double-8】
函数调用:int sum( int a[ ], int n )或者 int sum( int *a, int n )
sum(str,8);
二维数组初始化时,可以省略第一维长度,但不可以省略第二维长度
C语言规定:常量字符串会自动包含空字符 ‘\0’,所以可以遍历数组到str[i] != ‘\0’ 为止。
while(c=str[i] != ‘\0’){……}
scanf() 遇到分隔符(空格符、换行符、制表符etc)就会停止读入,同时将‘\0’ 存入数组作为参数末尾标志。
所以为了解决字符串的输入,c语言用 gets(str) / puts(str) 作为字符串输入输出函数,其包含在<string.h>中。
getchar()和putchar()的应用:
int getchar(void) : 读取用户以键盘输入的单个字符,返回字符的ASCII码。【多于一个字符则只接收第一个】
int putchar(int ch):向终端输出一个字符【ch为0-127的数,否则不是ASCII值】
while( (str[i++] = getchar() !=’\n’ )){……}
字符串几个处理函数:
strcpy(字符数组,字符串); char str[50]; strcpy(str,“C Programmer”);
strlen(字符串):返回字符串的有效字符数(空字符除外)【!= sizeof(str) 】
strcat(字符数组,字符串):字符串拼接
strcmp(字符串1,字符串2):int 【0,==;>0,str1>str2;<0,str1<str2】
指针
& 取址运算符;
*间接访问符
int *p,m=3;
p = &m; 取出变量m的存储指针给p
printf("%d",*p);取出指针变量所指向的内存单元值
动态分配内存:
void *malloc(size_t size); 申请分配内存
void free(void *p); 释放所占的内存
char *p;
p = (char *)malloc(30);
free(p);
文件的打开与关闭
FIFE * fopen(const charfilename, const charmode);【参数:文件名,打开方式】
【打开方式:r—只读,w—覆盖写,a—追加内容,[r/w/a]b—以二进制方式操作】
int fclose(FILE *stream); 关闭文件
FILE * fp;
fp = fopen(“1.txt”,“r”); // 文件夹一定要存在,此处文件夹位置为当前目录下,也可为绝对路径
fclose(fp);
读写字符函数:fgetc() 和 fputc() 读单个字符
读写字符串函数:fgets() 和 fputs()
char *fgets( char *str, int num, FILE * stream); // 读入num-1个字符放入数组str中,遇到ENTER、EOF结束。
int fputs(char * str, FILE * stream); //将数组str内容写入流文件中
【EOF—Ctrl+Z表示输入结束】
int main(){
/*
* 文件的字符串写入和读出
*/
FILE *fp1,*fp2;
char ch[128];
if((fp1 = fopen("file.txt","r")) == NULL){
printf("cannot open file!\n");
exit(0);
}
if((fp2 = fopen("file1.txt","w")) == NULL){
printf("cannot open file1!\n");
exit(0);
}
while( fgets(ch,128,fp1)>0 ){
fputs(ch,fp2);
printf("%s",ch);
}
fclose(fp1);
fclose(fp2);
return 0;
}
上一篇: C语言使用注意事项(二)
下一篇: C语言使用注意事项(三)
推荐阅读
-
基于open62541在QT编写OPCUA特定的客户端程序(含有源码) + VS2015 C语言搭建OPCUA客户端环境
-
C# 使用OCCI 连接Oracle 数据库
-
C#中 线程同步代码详细介绍
-
Oracle Database 12c RAC损坏ocr和votedisk恢复实验
-
【c#教程】C# 集合(Collection)
-
用PHP开发C/S结构_PHP教程
-
Zend Framework自定义Helper类相关注意事项总结_PHP
-
阿里云服务器windows系统C盘一键清理脚本
-
Datastage parallel routine aix unix hp-ux编译c程序 .o文件 .a文件 HPAIXCC++C#
-
基于R语言for循环的替换方案