
获得徽章 0
浅浅记录一下学习c时碰到的六大存储类型和分配函数的操作
自动存储类型:只能在代码块内存储跳出代码块就没有地址
静态存储类型:整个程序都有地址
寄存器存储:具有register的
具有外部链接的静态存储类:特点是有extern(生存周期是程序内程序运行结束才会消失)
具有内部链接的静态存储类:特点是有static(生存周期在该文件内)
空链接的静态存储类:特点是有static (生存周期在该文件内)
生成内存函数:malloc(n*sizeof(整型))可以自己选择分配内存
初始化地址函数:memset(str,0,n*sizeof(整型))
释放内存函数:free()用以释放一些不需要函数的内存 提高程序的运行速度 防止程序崩溃
malloc和free必须成对出现
调用需要有#include <stdlib.h>头文件
例子:char str[]="Hello world"
char *str1;
int length= strlen(sizeof(char)+1)
str1=(char *)malloc (length*sizeof (char))
memset (str1,0,length)
strcpy (str1,str)
puts (str1)
free (str1)
这样就完成了一次引用!
自动存储类型:只能在代码块内存储跳出代码块就没有地址
静态存储类型:整个程序都有地址
寄存器存储:具有register的
具有外部链接的静态存储类:特点是有extern(生存周期是程序内程序运行结束才会消失)
具有内部链接的静态存储类:特点是有static(生存周期在该文件内)
空链接的静态存储类:特点是有static (生存周期在该文件内)
生成内存函数:malloc(n*sizeof(整型))可以自己选择分配内存
初始化地址函数:memset(str,0,n*sizeof(整型))
释放内存函数:free()用以释放一些不需要函数的内存 提高程序的运行速度 防止程序崩溃
malloc和free必须成对出现
调用需要有#include <stdlib.h>头文件
例子:char str[]="Hello world"
char *str1;
int length= strlen(sizeof(char)+1)
str1=(char *)malloc (length*sizeof (char))
memset (str1,0,length)
strcpy (str1,str)
puts (str1)
free (str1)
这样就完成了一次引用!
展开
评论
4
字符串语句的学习:
strcat(str0,str1):拼接字符串 但不能记录字符的长度
strncat(str0,str1,n):拼接字符串,但只取str1中的n个字符
strcmp(str0,str1):比较两个字符串的大小 相等为0
str0>str1 为正 否则为负
strncmp(str0,str1,n):只对比前n个字符串大小 同上判断
strcpy(str0,str1):将str1的字符串拷贝到str0中
strncpy(str0,str1,n):拷贝str1中的n个字符,如果str0为空应先初始化成0
sprintf(str2,“%s%s%s......”,str0,str1):将多个字符串拼接在一起
strcat(str0,str1):拼接字符串 但不能记录字符的长度
strncat(str0,str1,n):拼接字符串,但只取str1中的n个字符
strcmp(str0,str1):比较两个字符串的大小 相等为0
str0>str1 为正 否则为负
strncmp(str0,str1,n):只对比前n个字符串大小 同上判断
strcpy(str0,str1):将str1的字符串拷贝到str0中
strncpy(str0,str1,n):拷贝str1中的n个字符,如果str0为空应先初始化成0
sprintf(str2,“%s%s%s......”,str0,str1):将多个字符串拼接在一起
展开
评论
4
#c语言程序的相关语句分享
作为一个准备转专业的大一生来说 了解c语言的各种语句是真让我头疼 为了防止自己忘了 就记录一下顺便和大家一起分享~
getchar():从函数中获取一个字符就比如‘A’这样而不是字符串
putchar()就是打印getchar的字符
isalpha():判断参数是否为字母
字母为真 输出正数值 其他为0
isalnum():判断参数是否为数字
数字为真 输出正数值 其他为0
isblank():判断参数是否为空白字符
同上
iscntrl():判断是否为控制符
比如Crtl+c
isdigit():判断是否为阿拉伯数字
isgraph():判断是否为除了空格符以外的所有可打印字符
islower():判断是否为小写字母
isprint():判断是否为可打印字符
ispunct():判断是否为标点符号
isspace():判断是否为空格
isupper():判断是否为大写字母
isxdigit():判断是否为16进制数
toupper():小写字母变大写
tolower():大写变小写
这些函数的调用都要在最开始加上
#include <ctype.h>
三目运算符问号的用法:
c=()? a:b
括号里为某个条件表达式
如果表达式正确则c=a否则c=b
这些就大概是先前学到的一些东西了 感觉很有趣要继续努力了!
作为一个准备转专业的大一生来说 了解c语言的各种语句是真让我头疼 为了防止自己忘了 就记录一下顺便和大家一起分享~
getchar():从函数中获取一个字符就比如‘A’这样而不是字符串
putchar()就是打印getchar的字符
isalpha():判断参数是否为字母
字母为真 输出正数值 其他为0
isalnum():判断参数是否为数字
数字为真 输出正数值 其他为0
isblank():判断参数是否为空白字符
同上
iscntrl():判断是否为控制符
比如Crtl+c
isdigit():判断是否为阿拉伯数字
isgraph():判断是否为除了空格符以外的所有可打印字符
islower():判断是否为小写字母
isprint():判断是否为可打印字符
ispunct():判断是否为标点符号
isspace():判断是否为空格
isupper():判断是否为大写字母
isxdigit():判断是否为16进制数
toupper():小写字母变大写
tolower():大写变小写
这些函数的调用都要在最开始加上
#include <ctype.h>
三目运算符问号的用法:
c=()? a:b
括号里为某个条件表达式
如果表达式正确则c=a否则c=b
这些就大概是先前学到的一些东西了 感觉很有趣要继续努力了!
展开
评论
4