首页 > 代码库 > C语言之深入指针与字符串
C语言之深入指针与字符串
<span style="font-family:KaiTi_GB2312;font-size:24px;">#include<stdio.h> #include<stdlib.h> //要使用malloc(),必须包含此库文件 void main() { char count, *ptr1, *p; ptr1 = malloc(27*sizeof(char)); ptr1[26] = 0;//字符串要加0 if (ptr1 == NULL) { puts("没有足够的空间卡可以分配!\n"); } p = ptr1;//将ptr1指针地址赋值给指针p for (count= 65; count < 91; count++) { *(p++) = count; } printf("打印ptr1:\n"); puts(ptr1);//打印出ptr1中的所有值 printf("打印P:\n"); p = ptr1; //因为此时P指针地址已经指到了0处,所以必须赋值。 puts(p); free(ptr1); //释放malloc()分配的内存 system("pause"); } </span>
运行结果:
<span style="font-family:KaiTi_GB2312;font-size:24px;">#include<stdio.h> #include<stdlib.h> //要使用malloc(),必须包含此库文件 void main() { char *message;//声明一个名为message的指针,但此时不指向任何地址。 char *message1 = "I am mini ,I am very well ! ";//mesage1是指向该字符串的指针。 //等价于 char *message2[] = { "I am mini ,I am very well ! " }; //如果编写程序时,知道要分配多少空间,则可以使用这种方式。 /* 也可以使用malloc()动态分配内存空间 malloc()是C语言中的一个内存分配函数。malloc()返回一个地址,该函数返回类型为void指针。 */ char *str; str = (char *)malloc(100);//为字符串分配100字节空间 if (str == NULL)//当没有足够的内存空间可以分配,则返回NULL { printf("没有足够的空间!\n"); exit(1); } int *numbers; numbers = (int *)malloc(50 * sizeof(int));//为int类型分配空间 float *numbers1; numbers1 = (float *)malloc(10 * sizeof(float)); //存储一个字符的内存空间 char *ptr; ptr = malloc(1);//分配1字节的空间 *ptr = 'x';//将字符x存入*ptr中 printf("分配空间完毕!\n"); system("pause"); }</span>
运行结果:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。