1. 程式人生 > >記錄一些嵌入式筆試要點

記錄一些嵌入式筆試要點

一、字元陣列、字串、字串指標的區別,以及sizeof和strlen的區別

1、sizeof(字串)有包含‘\0’,而strlen(字串)不包含'\0'。
2、sizeof()對這3種定義的區別在下面的小程式碼中。
3、strlen()對這3種定義的結果都是一樣的。
程式碼如下:
#include<stdio.h>
#include<string.h>

int main()
{
	char a[10] = "123456";
	char b[] = "123456";
	char *c = "123456";

	printf("char a[0]: %ld\n"
,sizeof(a)); printf("char b[]: %ld\n",sizeof(b)); printf("char *c: %ld\n",sizeof(c)); printf("char a[0]: %ld\n",strlen(a)); printf("char b[]: %ld\n",strlen(b)); printf("char *c: %ld\n",strlen(c)); }

執行結果:
在這裡插入圖片描述

二、重寫strcpy()函式。

char* strcpy(char* Desk, const char* Src)
{
	char *p = Desk;		//Desk用於返回
if(NULL == Desk || NULL == Src) return -1; while((*p++ = *Src++) != '\0'); return Desk; }

想到其他題再補充》