河北手机网站制作公司,百度小说风云榜排行榜官网,做网站贷款,两个wordpress互通1、当使用const关键字变量就无法修改可当常量来用。常量指针不能通过指针来改变变量的值#xff0c;但可以通过其他引用来改变变量的值常量指针也可以指向其他变量地址#xff0c;如
int a5,b6;
const int *pt a;
*pt6; //错误
a6; //正确
ptb; //正确指针常量指…1、当使用const关键字变量就无法修改可当常量来用。常量指针不能通过指针来改变变量的值但可以通过其他引用来改变变量的值常量指针也可以指向其他变量地址如
int a5,b6;
const int *pt a;
*pt6; //错误
a6; //正确
ptb; //正确指针常量指向的地址不能改变但可以改变变量的值如
int a3;
int b4;
int *const arra;
arrb //错误
*arr 4; //正确2、 int *arr[3]; //三个int型的指针组成的数组相当于int *arr1, int *arr2, int *arr3组成一个数组 char *arr[3]{“abc”, “1234”,”adfdf”}; //三个char型的指针组成的数组相当于char *arr1, char *arr2, char *arr3组成一个数组
3、gets(地址)输入字符串函数把回车变为\0字符 puts(地址或者字符串”abc”)输出字符串函数遇到’\0’字符输出末尾自动加\n
4、 易错
char *ch 12abc;
Printf(%s,ch); //12abc
Printf(%s, *ch); //错误不能把一个字符用字符串的形式输出
Printf(%c,*ch); //1
Printf(%c, *(ch1)); //2
Printf(%c,ch[2]); //a5、在输出的时候想要引用双引号可在双引号前加\如printf(“\”123\””);
6、左值不可修改表示赋予左值得那个变量不可修改即左值右边的东西不可修改
7、static关键字修饰全局变量的时候这个全局变量只能在本文件中访问其他文件不可访问就算有extern外部声明也不行。 static修饰一个函数的时候这个函数只能在本文件中使用不能被其他的文件调用 static修饰局部变量的时候在整个程序没有运行结束值不会被销毁
#include stdio.h
static int n; //定义静态全局变量
int fun1()
{static int m0; //定义静态举局部变量m;return m;
}int fun2()
{n0;n;return n;
}void main()
{int i;for(i0;i5;i){Printf(“%d %d\n”fun1(),fun2()); //m为静态局部变量这个函数运行结束静态变量的值不会被销毁函数下次使用时仍能使用,每次调用函数遇到静态定义程序都会忽略这条直接走到m;//n为静态全局变量作用仅限于变量被定义的文件每次调用函数都会n0;}
}输出 1 1 2 1 3 1 4 1 5 1
8、 头文件string.h的函数对字符串操作 strlen()测量字符串长度结尾的空字符’\0’不包括进去 strcat(地址a地址b)字符串拼接把b拼接到a上 Strncat(地址a地址b长度)把b字符串拼接到a上拼接多少由长度控制 Strcmp(地址或字符串地址或字符串)字符串的比较。不可以是字符两字符串比较相同返回0假不同返回非0(真)如果前者排在ascii码前面返回-1否则返回1如strcmp(“a”,”b”)返回-1。 需要注意的是
char try[10];
gets(try);
while(try ! “abc”)
{puts(“字符串不相等”);gets(try);
}try实际上是个指针拿一个指针地址和字符串比较永远不会相等就永远走不出循环。 strncmp(地址或字符串地址或字符串长度)这里的长度来决定比较前多少个字符串 strcpy(地址或字符串地址或字符串)字符串拷贝把第二个字符串拷贝到第一个字符串上面第二个字符串的结尾符’\0’也会拷进来函数读到空字符结束。strcpy(arr24,arr1)表示从arr2开始往后数4个字符开始复制,如
char *arr1”abc”;
char arr2[] “12345678”;
strcpy(arr24,arr1);
puts(arr2); //1234abcstrncpy(地址或字符串地址或字符串长度)表示把后一个字符串截取多少长度拷贝到第一个字符串里如
Char *arr1”abc”;
Char arr2[] “12345678”;
strncpy(arr2,arr1,2); //ab3456789、 char arr[3][3]表示有三行每行有三个字符组成的数组也可以表示有三行每行存有一个字符不超过三的字符串
for(int i0;i3;i)gets(arr[i]); //对每行写入一个字符串10、 printf()用法和printf差不多printf把东西打印到屏幕上而sprintf把东西打印到字符串里如
char *arr”abc”;
float a3.14f;
char ch’A’;
char arr1[50];
sprintf(arr1,”字符串%s 浮点数%.2f 字符%c”, arr,a,ch);
puts(arr1); //字符串abc 浮点数3.14 字符A