文章分类 - C语言
摘要:1. 代码块作用域: 位于一对花括号之间的所有语句称为一个代码块。任何在代码块的开始位置声明的标识符都具有代码块作用域,表示它们可以被这个代码块中的所有语句访问。图3.1中标识为6、7、9、10的变量都具有代码块作用域。函数定义的形式参数(声明5在函数体内部也具有代码块作用域)。 当代码块牌嵌套...
阅读全文
摘要:1.定义为数组,声明为指针文件1中定义:char a[100]; //文件1中定义了数组a文件2中声明:extern char *a; //文件2中声明它为指针文件2中extern告诉编译器a这个名字已经在别的文件中被定义了,下面的代码使用的名字a是别的文件定义的。结果:把文件1中定义的数组在文件2中声明为指针会发生错误。分析:extern a[] 等价于extern a[100],因为这两个都是声明,不分配空间,所以编译器无需知道这个数组有多少个元素。这两个声明都告诉编译器a是在别的文件中被定义的一个数组,a同时代表着数组a的首元素的首地址,也就是这块内存的起始地址。数组内地任何元素的地址都
阅读全文
摘要:1 #include <stdio.h> 2 #include <stdlib.h> 3 4 5 int main() 6 { 7 int a[5]; 8 9 printf("sizeof(a) = %d\n", sizeof(a)); 10 printf("sizeof(a[0]) = %d\n", sizeof(a[0])); 11 printf("sizeof(&a) = %d\n", sizeof(&a));12 printf("sizeof(&a[0])= %d\n&
阅读全文
摘要:a)int *pfun(int, int);b)int (*pfun)(int, int);a)中由于*的优先级低于“()”的优先级,因而pfun首先和后面的()结合即pfunc(int,int),也就意味着,pfun是一个函数。即:int *(pfun(int, int));接着再和前面的“*”结合,说明这个函数的返回值是一个指针。由于前面还有一个int,也就是说,pfun是一个返回值为整型指针的函数。b)通过括号强行将pfun首先与“*”结合,也就意味着,pfun是一个指针,接着与后面的“()”结合,说明该指针指向的是一个函数,然后再与前面的int结合,也就是说,该函数的返回值是int。由
阅读全文
浙公网安备 33010602011771号