一个小知识点:
在我们没有明确数组的元素个数时,在程序中想知道数组单元个数可以使用 sizeof(a)/sizeof(a[0]), sizeof(a) 是得到数组 a 的大小,sizeof(a[0]) 是得到数组 a 中单个元素的大小(因此可以不必要是a[0],a[i]都行),eg:
#include<stdio.h> int main(int argc,char *grgv[]) { int a[]={1,2,3,4,5}; int b; b=sizeof(a)/sizeof(a[0]); printf("数组元素个数为:%d",b); return 0; }
指针与数组的区别
char *str="Hello"; char arrgs[]="Hello";
字符数组:
char *p=(char*)&arrgs == char *p=arrgs ; char *p=(char*)(&(arrgs[0])) == &arrgs == arrgs;
字符串指针:
char *p=(char*)&str != str; str==str[0] =='H'
得出结论字符数组的 首地址可以用 arrgs ,&arrgs,来表示并且它们相等,
但是指针&str和str是不同的,当遇到字符串指针时候要注意处理方式;
在 C 语言中,形参与实参虽然很简单,但是,是大家比较容易混淆的一个点,这里将为大家详细的讲解。
概念:从字面上理解,所谓形式参数即只只是声明了一个作为参数的变量,并未直接进行赋值使用,而实际参数则相反。
如下例
#include <stdio.h> int test(int,int); // 形参,只声明 int main() { int a,b; printf("%d",test(5,3)); // 实参,已赋值 } int test(int a,int b) // 形参 { a=a+b; return a; }
像上面在 test() 函数里只声明了最为参数的变量,而 main() 函数里则对它赋了值。
1、函数的调用:由于程序是从上向下执行,所以函数要先声明,后调用。这种先后是文档中所处位置的先后,不是时间的先后。以下写法为正确的:
#include<stdio.h> void f(void) /*定义函数*/ { printf("我是一个函数,我将在主函数中输出\n"); } int main(void) { f(); /*调用函数*/ }
在上面这个实例中,在主函数中调用了函数 f(), 而函数的声明是在调用以前。
2、这种写法是错误的
#include<stdio.h> int main(void) { f();/*调用函数*/ } void f(void) /*定义函数*/ { printf("我是一个函数,我将在主函数中输出\n"); }
在上面这个实例中,在主函数中调用了函数 f(), 而函数的声明却在调用之后。由于函数执行时是从上往下执行的所以,这写法是错误的。
如果函数非要写在主函数之后可以在主函数之前加入一个函数的前置声明。
前置声明如下:
#include<stdio.h> void f(void); /*前置声明*/ int main(void) { f(); /*调用函数*/ } void f(void) /*定义函数*/ { printf("我是一个函数,我一定要先声明后调用\n"); }
占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号,广泛用于计算机中各类文档的编辑。
格式占位符(%)是在C/C++语言中格式输入函数,如 scanf、printf 等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。
实例:
scanf("%d,%d,%d",&a,&b,&c); // 从键盘输入三个整数,用逗号分隔 scanf("%c", &s); // 从键盘输入一个字符 scanf("%f", &f); // 从键盘输入一个浮点型数据 printf("%d\n",a); // 输出一个整数 printf("%f\n",b); // 输出一个浮点数 printf("%s\n",c); // 输出一个字符, 其中\n表示换行
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
1494C 数组
一个小知识点:
在我们没有明确数组的元素个数时,在程序中想知道数组单元个数可以使用 sizeof(a)/sizeof(a[0]), sizeof(a) 是得到数组 a 的大小,sizeof(a[0]) 是得到数组 a 中单个元素的大小(因此可以不必要是a[0],a[i]都行),eg:
1493C 数组
指针与数组的区别
字符数组:
字符串指针:
得出结论字符数组的 首地址可以用 arrgs ,&arrgs,来表示并且它们相等,
但是指针&str和str是不同的,当遇到字符串指针时候要注意处理方式;
1492C 作用域规则
C 的形参与实参
在 C 语言中,形参与实参虽然很简单,但是,是大家比较容易混淆的一个点,这里将为大家详细的讲解。
概念:从字面上理解,所谓形式参数即只只是声明了一个作为参数的变量,并未直接进行赋值使用,而实际参数则相反。
如下例
像上面在 test() 函数里只声明了最为参数的变量,而 main() 函数里则对它赋了值。
1491C 函数
1、函数的调用:由于程序是从上向下执行,所以函数要先声明,后调用。这种先后是文档中所处位置的先后,不是时间的先后。以下写法为正确的:
在上面这个实例中,在主函数中调用了函数 f(), 而函数的声明是在调用以前。
2、这种写法是错误的
在上面这个实例中,在主函数中调用了函数 f(), 而函数的声明却在调用之后。由于函数执行时是从上往下执行的所以,这写法是错误的。
如果函数非要写在主函数之后可以在主函数之前加入一个函数的前置声明。
前置声明如下:
1490C 函数
占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号,广泛用于计算机中各类文档的编辑。
格式占位符(%)是在C/C++语言中格式输入函数,如 scanf、printf 等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。
实例: