1、const char* 表示的是字符串,遍历时不需要加*, 类似于java的String类
????const char* names[] = {"A","B","C"}; ?? ?for (int i = 0; i < 3; i++) ?? ?{ ?? ??? ?printf("%s\n",names[i]);
? ? ? ? // printf("%s\n",names[i]); ?? ?}
2、C语言不支持调用函数时返回局部变量的地址
#include<stdio.h> #include<time.h>
int* GetNumber() { ?? ?static int array[10];//C语言不支持调用函数时返回局部变量的地址,所以加一个static
?? ?//seed,库 ?? ?srand((unsigned)time(NULL)); ?? ?for (size_t i = 0; i < 10; i++) ?? ?{ ?? ??? ?//random ?? ??? ?array[i] = rand(); ?? ??? ?printf("%d\n", array[i]); ?? ?}
?? ?return array; } int main(int argc, const char* argv[]) { ?? ?int* p; ?? ?//int i;
?? ?p = GetNumber();
?? ?for (size_t i = 0; i < 10; i++) ?? ?{ ?? ??? ?printf("*(p + [%d]) = %d\n", i, *(p + i)); ?? ?} ?? ?return 0; }
|