C基础
1. 结构体赋值的方法:
2. 有一个常量字符串char *str1 = “Hello”;请写出为其动态分配内存空间的语句(使用纯C),如果是char *str1 = “abcdefghijkl”;呢?
3. 返回数组指针的函数指针。
请写出如下声明:一个函数指针,它指向的函数有三个整形参数,该函数返回一个指向大小为20的字符数组指针。
4. 描述如下声明:
int (*((*thisdeclare)[10]))(int a, int b, int (*)(char *));
5. 编译时限制一般指什么?和运行时限制有什么区别?运行时限制又是指那些?
6. K&R C和ANSI C有什么区别?典型的函数形参的申明形式的区别?混用的后果。
7. ANSI C中的#pragma是什么?
8. 数组和指针
下面的写法是否有错?为何?
文件1:
int mango[100];
文件2:
extern int *mango;
9. API和ABI的区别? 动态链接主要目的是什么?
10. cc命令行指定一个宏定义的方法?
11. Linux下可执行文件格式是什么?Windows下呢?
12. 代码
char arr[3][128];
…
int fun_1(char **p)
{
…
}
func_1(arr);
是否有问题?如果有问题如何改正?
13. 函数返回数组的方法,请按你的方法写一个简单的函数。如何使用返回的数组?
14. 请写出如下程序的运行结果,并解释之。
#include <stdio.h>
int main(void)
{
int i;
int a[10];
for (i = 0; i <= 10; ++i) {
a[i] = 0;
printf("%d\n", i);
}
return 0;
}
1. 结构体赋值的方法:
2. 有一个常量字符串char *str1 = “Hello”;请写出为其动态分配内存空间的语句(使用纯C),如果是char *str1 = “abcdefghijkl”;呢?
3. 返回数组指针的函数指针。
请写出如下声明:一个函数指针,它指向的函数有三个整形参数,该函数返回一个指向大小为20的字符数组指针。
4. 描述如下声明:
int (*((*thisdeclare)[10]))(int a, int b, int (*)(char *));
5. 编译时限制一般指什么?和运行时限制有什么区别?运行时限制又是指那些?
6. K&R C和ANSI C有什么区别?典型的函数形参的申明形式的区别?混用的后果。
7. ANSI C中的#pragma是什么?
8. 数组和指针
下面的写法是否有错?为何?
文件1:
int mango[100];
文件2:
extern int *mango;
9. API和ABI的区别? 动态链接主要目的是什么?
10. cc命令行指定一个宏定义的方法?
11. Linux下可执行文件格式是什么?Windows下呢?
12. 代码
char arr[3][128];
…
int fun_1(char **p)
{
…
}
func_1(arr);
是否有问题?如果有问题如何改正?
13. 函数返回数组的方法,请按你的方法写一个简单的函数。如何使用返回的数组?
14. 请写出如下程序的运行结果,并解释之。
#include <stdio.h>
int main(void)
{
int i;
int a[10];
for (i = 0; i <= 10; ++i) {
a[i] = 0;
printf("%d\n", i);
}
return 0;
}