連續空間的傳遞
數組(數組名 標籤)
結構體(結構體變量)
struct abc(int a; int b; int c);
struct abc buf;
實參
fun(buf); fun(&fun)
形參
void fun (struct abc a1); void fun (struct abc a1*)
sprintf
char buf[100];
int a =10;
printf("%d",a);
sprintf(buf,"%d",a);
char *p="abcde";
這種方式是定義了一個字符型指針,指向常量字符串"abcde"
char p[]="abcde";
這種方式是定義了一個字符數組,其長度自動設置其等於"abcde",
所以第一種指向了常量區,無法修改;第二種定義了普通的數組變量,放在棧中,可以修改
int strlrn(const
char*)
{
int i=0;
錯誤處理
if (p=NULL)
{
}
}
if(p[i])
{
i++;
}
strcpy
memcpy 等等函數
unsigned char *非字符空間
void fun(unsigned char *p, int len)
{
int i;
for(i=0;i<len;i++)
{}
}
viid * 非字符空間的標識符
SYNOPSIS
#include <string.h>
char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t n);
#include <sys/types.h>
#include <sys/socket.h>
ssize_t recv(int sockfd, void *buf, size_t len, int flags);
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
struct sockaddr *src_addr, socklen_t *addrlen);
ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);
#include <string.h>
void *memcpy(void *dest, const void *src, size_t n);
返回值