本文共 1232 字,大约阅读时间需要 4 分钟。
更高效的数组初始化方法
meset(a, 0 ,sizeof(a) );
用sizeof(a) 来获得数组a所占的内存字节数
更高效的数组赋值方法
memcpy(b , a ,sizeof(a) )
需要包含的相应的头文件:
#include <string . h>
数组名代表数组的在内存中的首地址;
数组做函数参数(形参)时,按地址调用,传递的是数组的首地址; 强转和指针为C语言的两大神器。 &是取地址运算符;&a == 直接寻址; 间接寻址:通过存放变量地址的其他变量访问该变量。 重点:使用指针变量之前一定要初始化;不知道指向那,就指向NULL;空指针不一定是指向地址为0的单元的指针,看C编译器而定; “ * ” 取内容运算符(取地址单元中的内容);int main(){ int a = 0,b =1; //int 为指针变量的基类型,定义了可以指向整数型的指针变量,没有初始化 int *pa,*pb; pa = &a,pb = &b; *pa = 9; //指针的解引用:引用指针来指向变量的值,从而改变 间接寻址 //int *pa = &a; printf(" a is %d, &a is %p,pa is %d\n",a,&a,pa); return 0;}
指针实例:演示按值调用
void Fun (int *par);int main(){ int arg =1 ; printf("arg = %d\n",arg); Fun(&arg); printf("arg = %d\n",arg); return 0;}void Fun(int *par){ printf("par = %d\n",*par); *par = 2;}
函数指针就是指向函数的指针变量;
数据类型 ( * 指针变量名) (形参列表)== int ( *f ) (int a, int b )#includescanf("%s",c);//空格 制表符 回车 视为输出结束gets();//可以读走缓冲区内的回车或字符getchar();//读走缓冲区空格、回车scanf(" ");== scanf(" %d",&ch)//读走空白符计算字符串长度 :strlen(字符串);char str [10] = { "China"};printf ("%d", strlen(str)),长度为5;” \0 “为结束标识, 不计算;strcpy(目的字符串,源字符串);//字符串复制strcat(目的字符串,源字符串);//字符串连接strcmp(字符串1,字符串2) == 0 ;//字符串比较fgets(str, sizeof(str),stdin);//限制输入字符串的长度strncpy(str1,str2,n)//n族的字符串处理函数 更安全
转载地址:http://rqrii.baihongyu.com/